簡體   English   中英

使用while循環檢查列表中輸入的錯誤

[英]using while loop to check errors with inputs in a list

我一直在用python編寫程序...

selected_pizzas=[] #creates an empty list 
for n in range(pizza_number): 
    selected_pizzas = selected_pizzas + [int(input("Choose a pizza: "))]

這將允許用戶輸入最多5個數字並將它們存儲在一個空列表(selected_pizzas)中,用戶僅大聲輸入0-11之間的數字,我有一種使用while循環來檢查用戶輸入錯誤的方法,但是我試過了,但似乎無法使用列表中輸入的數字:

pizza_number=0
goodpizza_number=False 
while not goodpizza_number:
    try:
        pizza_number= int(input("How many Pizzas do you want? (MAX 5): "))
        if pizza_number ==0 or pizza_number > 5: #if the number of pizzas asked for is 0 or over 5 it will give an error message and repeat question
            print("Not a correct choice, Try again")
        else:
            goodpizza_number=True 
    except ValueError:
        print("Not a number, Try again")

我將如何使用該方法(以上)來確保用戶在問題中顯示的第一段代碼中輸入了預期的輸入(0-11之間的數字)

您可以這樣做:

selected_pizzas=[] #creates an empty list 
while len(selected_pizzas) < pizza_number:
    try:
        pizza_selection = int(input("Choose a pizza: "))
    except ValueError:
        print("Not a number, Try again")
    else:
        if 1 <= pizza_selection <= 11:
            selected_pizzas.append(pizza_selection)

這樣可以確保即使出現用戶錯誤,您仍然可以得到正確數量的披薩。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM