Python 3.8.12
此代碼的預期目標是允許用戶選擇“牛肉”、“雞肉”、“豆腐”或“無”三明治。如果用戶沒有輸入這些選項之一,它將再次提示他們選擇三明治。如果他們確實輸入了這些選項之一,那么它將繼續使用代碼。
它無法正常作業。它不會接受任何輸入,無論是否有效。所有輸入都會導致程式再次提示用戶,而不是在程式有效時繼續執行。
sandwich_choice = input("Select sandwich: ")
while sandwich_choice != "chicken" or sandwich_choice != "beef" or sandwich_choice != "tofu" or sandwich_choice != "none":
sandwich_choice = input("\x1b[30;41m[!]\x1b[0mSelect sandwich: ")
else:
pass
print("Sandwich selection is", sandwich_choice)
uj5u.com熱心網友回復:
修改后的邏輯:
sandwich_choice = input("Select sandwich: ")
while sandwich_choice not in ('chicken', 'beef', 'tofu', 'none'):
sandwich_choice = input("\x1b[30;41m[!]\x1b[0mSelect sandwich: ")
else:
pass
print("Sandwich selection is", sandwich_choice)
uj5u.com熱心網友回復:
更好的方法是:
sandwich_choice = ""
while True:
sandwich_choice = input("blah blah blah")
if sandwich_choice == "beef" or sandwich_choice == "chicken" or sandwich_choice == "tofu" or sandwich_choice == "none":
break
print("Sandwich selection is",sandwich_choice)
uj5u.com熱心網友回復:
你可以試試
sandwich_choice = input("Select sandwich: ")
list_sandwich = ['chicken', 'beef', 'tofu', 'none']
while sandwich_choice not in list_sandwich:
sandwich_choice = input("\x1b[30;41m[!]\x1b[0mSelect sandwich: ")
else:
pass
print("Sandwich selection is", sandwich_choice)
uj5u.com熱心網友回復:
基于 Carl_M 的實作
sandwich_choice = input("Select sandwich: ")
while sandwich_choice not in ('chicken', 'beef', 'tofu', 'none'):
sandwich_choice = input("\x1b[30;41m[!]\x1b[0mSelect sandwich: ")
else:
print("Sandwich selection is", sandwich_choice)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/435513.html
上一篇:正則運算式只允許字符之間的破折號
