Python學習小結—使用者輸入和While迴圈

小白龍馬發表於2019-02-16

本章將學習使用者的輸入以及While迴圈的一些基礎方式方法

  • input()等待使用者的輸入
    該函式會讓程式暫停執行,等待使用者輸入後盡享下一步操作,我們可以將使用者輸入的資訊存入到一個變數中

    messge=input("Input something:")
    print(message)
    #-->Input somthing:Hello World    #Hello World是你自己輸入的
    #-->Hello World

    當我們寫出這個函式時,必須讓使用者知道他應該輸入什麼,否則亂輸入根本沒有效果

    messge=input("Input yourname:")
    print(message)
    #-->Input your name:小白龍馬
    #-->小白龍馬 
    
    message="你是誰,讓我們知道知道我們可以給您介紹一款適合您玩的遊戲哦!!!
    "
    message+="請輸入您的名字:"
    name=input(message)
    print(name)
    #-->你是誰,讓我們知道知道我們可以給您介紹一款適合您玩的遊戲哦!!!
    #-->請輸入您的名字:小白龍馬
    #-->小白龍馬

    以上都是一個個字元,我們向輸入數字怎麼辦呢?

    age=input("Input your age:")
    print(age)
    
    age=int(age)
    age += 5
    print(age)
    #-->Input your age:20
    #-->`20`#這是未轉化之前的
    #-->25#值產生了變化,說明可以進行數值運算了

    注意:
    在py2.7中,我們最好用raw_input()這個函式獲取輸入的字串,當讓py2.7中也有input(),但是他不是獲取輸入的字元,而是把輸入的東西當作程式碼執行。

  • While迴圈簡介
    簡單示例:

    current_number=1
    while current_number<=5:
        print(current_number)
        current_number += 1
    #-->1    2     3    4     5
    #會輸出一到5

    表明:while迴圈的條件是 current_number<=5,當這個表示式不滿足是就退出迴圈,因此我們需要在迴圈體中改變這個值,在特定的時退出
    (1)讓使用者選擇退出

    message="您將進入迴圈!!!"
    print(message)
    while True:
        command=input("輸入一個字串(輸入quit退出)")
        if command == `quit`:
            break;#退出當前迴圈的命令
    print(`您已退出迴圈`)
    #-->您將進入迴圈!!!
    #-->輸入一個字串(輸入quit退出)dasd
    #-->輸入一個字串(輸入quit退出)quit
    #-->您已退出迴圈
    
    #改進版
    message="您將進入迴圈!!!"
    print(message)
    command=``
    while command!=`quit`:
        command=input("輸入一個字串(輸入quit退出)")
        if command == `quit`:
            break;#退出當前迴圈的命令
    print(`您已退出迴圈`)
    #迴圈輸入命令,當命令不為quit是就繼續迴圈
       同時,我們可以設定一個標誌,動態的控制迴圈的進行:
       ```python
       active=True
       while active:
           command=input("輸入一個字串(輸入quit退出)")
           if command == `quit`:
               active=False;
       ```

    (2)break與continue
    break是停止迴圈,跳出迴圈,而continue是停止本次迴圈,開始下一次迴圈

    #break
    message="您將進入迴圈!!!"
    print(message)
    command=``
    while command!=`quit`:
        command=input("輸入一個字串(輸入quit退出)")
        if command == `quit`:
             break;#退出當前迴圈的命令
    print(`您已退出迴圈`)
    #-->您將進入迴圈!!!
    #-->輸入一個字串(輸入quit退出)dasd
    #-->輸入一個字串(輸入quit退出)quit
    #-->您已退出迴圈
    
    #continue:
    message="您將進入迴圈!!!"
    print(message)
    command=``
    while command!=`quit`:
        command=input("輸入一個字串(輸入quit退出)")
        if command == `quit`:
             break;#退出當前迴圈的命令
        if command == `cont`:
             continue;#退出當前迴圈的命令
        print(`哈哈`)
    print(`您已退出迴圈`)
    #-->您將進入迴圈!!!
    #-->輸入一個字串(輸入quit退出)aa
    #-->哈哈
    #-->輸入一個字串(輸入quit退出)cont
    #-->輸入一個字串(輸入quit退出)quit
    #-->您已退出迴圈

    (3)避免無限迴圈:

       無限迴圈例項:
       ```python
       while True:
           print(`哈哈,會卡死的`)
       ```
       這就是一個無限迴圈,迴圈體無法跳出,會一直執行,最後可能會程式無響應
  • 結合列表與字典迴圈
    (1)刪除包含特定值的列表元素:

    pets=[`cats`,`dogs`,`dogs`,`fish`]
    while `dogs` in pets:
        pets.remove(`dogs`)
    print(pets)
    #-->[`cats`,`fish`]    刪除了特定元素
       
       ```python
       responses={}
       active=True
       while active:
           name=input(`please input your name:`)
           response=input(`please says something:`)
           responses[name]=response
           repeat=input(`you want to give us some word?(y/n)`)
           if repeat == `n`:
               active=False
       print(`over`)
       #-->please input your name:safsa
       #-->please says something:fsafasf
       #-->you want to give us some word?(y/n)y
       #-->please input your name:sfsafag
       #-->please says something:sfasfafdgdsgsg
       #-->you want to give us some word?(y/n)n
       #-->sfasfafdgdsgsg    #這裡輸出了迴圈體中最後的response變數的值(這裡會有全域性變數和區域性變數的區別,我得先去理解理解。)
    
       ```
    

相關文章