簡體   English   中英

如何打破這個循環? (Python)

[英]How to break this loop? (python)

    available_fruits = ['apple', 'grape', 'banana']
    
    choice = input('Please pick a fruit I have available: ')
    
    while True : choice= input('You made an invalid choice. Please pick again:') 
            if choice not in available_fruits 
                 else print('You can have the fruit')

當用戶在列表“available_fruits”中輸入內容時,我想讓這個循環停止。 但是當我輸入“蘋果”時,它會說“你可以吃水果”,但又會說“你做了一個無效的選擇。請再選一次:”。

當我輸入列表中的水果時,如何使這個循環停止? 當我把“break”放在代碼的末尾時,它說它的語法無效..

使用 while 條件而不是只是 while True,這樣的工作:

available_fruits = ['apple', 'grape', 'banana']

choice = input('Please pick a fruit I have available: ')

while choice not in available_fruits: 
    choice= input('You made an invalid choice. Please pick again:')

print('You can have the fruit')

這會起作用:

available_fruits = ['apple', 'grape', 'banana']

choice = input('Please pick a fruit I have available: ')

while True:
    if choice in available_fruits:
        print('You can have the fruit')
        break
    else:
        choice = input('You made an invalid choice. Please pick again: ')

但總的來說,我建議您創建具有實際條件的 while 循環。 這就是while循環的用途。 當條件評估為 False 時,它們會自動中斷。 也干凈多了。

例子:

available_fruits = ['apple', 'grape', 'banana']

choice = input('Please pick a fruit I have available: ')

while choice not in available_fruits:
    choice = input('You made an invalid choice. Please pick again: ')

print('You can have the fruit')

試試這個。 假設你需要使用break。

available_fruits = ['apple', 'grape', 'banana']

choice = input('choose a fruit: ')
while True : 
    if choice in available_fruits:
        print('you picked a valid fruit')
        break
    else:
        choice = input('choose a fruit: ')

我不知道它是否是您的問題的格式,即這是否是您的實際代碼。 你有些有語法錯誤:

  • 在每個ifelse結束時,您需要使用: ,就像使用while條件一樣。
  • 您必須使用正確的縮進。

修復這些錯誤后,請檢查您想要滿足的條件,以便使用break退出循環。

暫無
暫無

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

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