# 7-1 汽車租賃 :編寫一個程式,詢問使用者要租賃什麼樣的汽車,並列印一條訊息,如“Let me see if I can find you a Subaru”。
guess = input('請問您要租賃什麼樣的汽車呢:\n')
print('您要租賃的汽車是:'+guess)
7-2 餐館訂位 :編寫一個程式,詢問使用者有多少人用餐。如果超過8人,就列印一條訊息,指出沒有空桌;否則指出有空桌。
guess = int(input('請問貴賓這邊是多少人用餐呢:\n'))
if guess > 8:
print('非常抱歉,大桌沒有空桌了')
else:
print('貴賓這邊請')
7-3 10的整數倍 :讓使用者輸入一個數字,並指出這個數字是否是10的整數倍。
guess = int(input('請輸入一個數字:\n'))
if guess%10 == 0:
print('這個數字是10的整數倍哦')
else:
print('這個數字不是10的整數倍')
7-4 比薩配料 :編寫一個迴圈,提示使用者輸入一系列的比薩配料,並在使用者輸入'quit' 時結束迴圈。每當使用者輸入一種配料後,都列印一條訊息,說我們會在比薩中新增這種配料。
active = True
ingredients = [] # 存放配料表
while active:
guess = input('請輸入您需要的配料:\n')
if guess != 'quit':
ingredients.append(guess)
print('我們會在比薩中新增'+guess+'這種配料')
print('如新增完成請輸入"quit"\n')
else:
print('將為您新增如下配料:')
for ingredient in ingredients:
print(ingredient)
print('感謝您的支援,請等待享用!')
active = False
# break #使用break也可以
7-5 電影票 :有家電影院根據觀眾的年齡收取不同的票價:不到3歲的觀眾免費;3~12歲的觀眾為10美元;超過12歲的觀眾為15美元。請編寫一個迴圈,在其中詢問使用者的年齡,並指出其票價。
print('歡迎使用不成熟的票價查詢系統\n')
while True:
age = int(input('請輸入觀看貴賓的年齡:'))
if age>0 and age < 3:
print('不到3歲的觀眾免費觀看哦\n')
print('退出查詢請輸入"0"')
elif age >= 3 and age < 12:
print('3~12歲的觀眾為10美元\n')
print('退出查詢請輸入"0"')
elif age > 12:
print('超過12歲的觀眾為15美元\n')
print('退出查詢請輸入"0"')
elif age == 0:
print('感謝您的使用!')
break
else:
print('輸入有誤!')
7-6 三個出口 :以另一種方式完成練習7-4或練習7-5,在程式中採取如下所有做法。
- 在while 迴圈中使用條件測試來結束迴圈。
- 使用變數active 來控制迴圈結束的時機。
- 使用break 語句在使用者輸入'quit' 時退出迴圈。
# while 條件控制迴圈
print('歡迎使用不成熟的票價查詢系統\n')
age = int(input('請輸入觀看貴賓的年齡:'))
while age != 0:
age = int(input('請輸入觀看貴賓的年齡:'))
if age>0 and age < 3:
print('不到3歲的觀眾免費觀看哦\n')
print('退出查詢請輸入"0"')
elif age >= 3 and age < 12:
print('3~12歲的觀眾為10美元\n')
print('退出查詢請輸入"0"')
elif age > 12:
print('超過12歲的觀眾為15美元\n')
print('退出查詢請輸入"0"')
else:
print('輸入有誤!')
# 使用變數控制迴圈 及break控制迴圈
print('歡迎使用不成熟的票價查詢系統\n')
active = True
while active:
age = int(input('請輸入觀看貴賓的年齡:'))
if age>0 and age < 3:
print('不到3歲的觀眾免費觀看哦\n')
print('退出查詢請輸入"0"')
elif age >= 3 and age < 12:
print('3~12歲的觀眾為10美元\n')
print('退出查詢請輸入"0"')
elif age > 12:
print('超過12歲的觀眾為15美元\n')
print('退出查詢請輸入"0"')
elif age == 0:
print('感謝您的使用!')
active = False #當active值為False時迴圈結束
# break # 使用者輸入0的時候break結束迴圈
else:
print('輸入有誤!')
7-7 無限迴圈 :編寫一個沒完沒了的迴圈,並執行它(要結束該迴圈,可按Ctrl +C,也可關閉顯示輸出的視窗)。
while 1 == 1 :
print('這是個死迴圈')
7-8 熟食店 :建立一個名為sandwich_orders 的列表,在其中包含各種三明治的名字;再建立一個名為finished_sandwiches 的空列表。遍歷列表sandwich_orders ,對於其中的每種三明治,都列印一條訊息,如I made your tuna sandwich ,並將其移到列表finished_sandwiches 。所有三明治都製作好後,列印一條訊息,將這些三明治列出來。
sandwich_orders = ['肉鬆火腿','雞蛋培根','雞肉全麥','芝士牛肉']
finished_sandwiches = []
while len(sandwich_orders)>0:
finished_sandwiche = sandwich_orders.pop()
print('我需要這款三明治:'+ finished_sandwiche)
finished_sandwiches.append(finished_sandwiche)
print('所有三明治已經制作完成:')
for sandwiche in finished_sandwiches:
print(sandwiche)
7-9 五香菸燻牛肉(pastrami)賣完了 :使用為完成練習7-8而建立的列表sandwich_orders ,並確保'pastrami' 在其中至少出現了三次。在程式開頭附近新增這樣的程式碼:列印一條訊息,指出熟食店的五香菸燻牛肉賣完了;再使用一個while 迴圈將列表sandwich_orders 中的'pastrami' 都刪除。確認最終的列表finished_sandwiches 中不包含'pastrami' 。
sandwich_orders = ['pastrami','chicken','pastrami','beef','bacon','pastrami']
finished_sandwiches = []
print('五香菸燻牛肉賣完了')
while sandwich_orders:
if 'pastrami' in sandwich_orders:
sandwich_orders.remove('pastrami')
else:
sandwiche = sandwich_orders.pop()
finished_sandwiches.append(sandwiche)
print('我需要這款三明治'+sandwiche)
print(finished_sandwiches)
7-10 夢想的度假勝地 :編寫一個程式,調查使用者夢想的度假勝地。使用類似於“If you could visit one place in the world, where would you go?”的提示,並編寫一個列印調查結果的程式碼塊。
print('夢想的度假勝地調查問卷')
namecity = {}
i = 0
active =True
while active:
print('你心中有夢想的度假勝地嗎?告訴我,我保證不會完成你的夢想\n')
name = input("請填寫你的姓名\n")
city = input('請填寫你想去的城市\n')
print('感謝您的參與!\n')
namecity[name] = city
i += 1
guess = input('當前有'+str(i)+'人參與調查,是否繼續調查?【yes/no】\n')
activecontinue = True
while activecontinue:
if guess.lower() == 'yes':
activecontinue = False
elif guess.lower() == 'no':
active = False
print('辛苦完成今天的調查任務,調查完畢!\n')
break
else:
guess = input('輸入有誤,請重新輸入【yes/no】\n')
for name,city in namecity.items():
print(name+'的夢想度假勝地是:'+city)