自學Python筆記-第七章使用者輸入和while迴圈以及附帶程式碼

江湖大俠葉開花發表於2020-10-24

總結

本章學習了:

如何使用input()來讓使用者提供資訊

如何處理文字和數字輸入   

一般來說,input獲取的是字串,可使用int()將其轉化成數字

如何使用while迴圈讓程式按使用者的要求不斷執行

while迴圈不斷執行,直到指定的條件不滿足為止

多種控制while迴圈流程的方式:

  1. 設定活動標誌(在要求很多條件都滿足才能繼續執行的程式中,可定義一個變數,用於判斷整個程式是否處於活動狀態。這個變數被稱為標誌,充當了程式的交通訊號燈。你可以讓程式在標誌為True時執行,並在任何事件導致標誌變為False時停止。)

  2. 使用break語句以及使用continue語句

如何使用while迴圈在列表之間移動元素

如何從列表中刪除所有包含特定值的元素

如何結合使用while迴圈和字典

 

動手試一試

7-1汽車租賃

# 7-1汽車租賃
def func01():
    car_names = input("Let me see fi I can find you a Subaru: ")

7-2餐館訂位

# 7-2參觀訂位
def func02():
    number = input("請問有多少人用餐?  ")
    number = int(number)
    if number > 8:
        print("對不起沒有空桌了.")
    else:
        print("現在還有空桌.")

7-3 10的整數倍

# 7-3 10的整數倍
def func03():
    number = input("請輸入一個數字:  ")
    number = int(number)
    if number % 10 == 0:
        print("它是10的整數倍")
    else:
        print("它不是10的整數倍")

7-4比薩配料

# 7-4比薩配料
def func04():
    message = "\n請輸入一系列比薩配料:"
    message += "\nEnter 'quit' to end the program."
    burden = ""

    while burden != 'quit':
        burden = input(message)
        if burden != 'quit':
            print("我們會在比薩中新增這種配料:%s" % burden)
        else:
            print("結束.")

7-5電影票

# 7-5電影票
def func05():
    promopt = '\n請問您的年齡是: '
    promopt += "\nEnter 'quit' to end the program: "

    while True:
        age = input(promopt)
        if age == 'quit':
            print("程式結束")
            break
        age = int(age)
        if age < 3:
            print("你的票價是免費的.")
        elif age <= 12:
            print("你的票價是10美元")
        else:
            print("你的票價為15元")

當我試圖輸入別的字串時,程式報錯,我暫時還不知道怎麼改。

請問您的年齡是: 
Enter 'quit' to end the program: er
Traceback (most recent call last):
  File "D:/E_workspace/pycharm_work/first/capter07.py", line 60, in <module>
    func05()
  File "D:/E_workspace/pycharm_work/first/capter07.py", line 51, in func05
    age = int(age)
ValueError: invalid literal for int() with base 10: 'er'

Process finished with exit code 1
 

7-6三個出口 (這裡改了一下,用了標誌)

# 7-6電影票
def func06():
    promopt = '\n請問您的年齡是: '
    promopt += "\nEnter 'quit' to end the program: "
    active = True

    while active:
        age = input(promopt)
        if age == 'quit':
            print("程式結束")
            active = False
        else:
            age = int(age)
            if age < 3:
                print("你的票價是免費的.")
            elif age <= 12:
                print("你的票價是10美元")
            else:
                print("你的票價為15元")

 

7-7無限迴圈

# 7-7無限迴圈
def func07():
    n = 1
    while n < 5:
        print(n)

 

相關文章