代碼
此代碼將您最喜歡的食物存盤在一個串列中,但輸入會變成一個 bool 型別的字符。為什么會發生這種情況,我該如何解決?
foods=list()
while food := input("what food do you like?: ") != "quit":
foods.append(food)
print(foods)
uj5u.com熱心網友回復:
這是因為操作優先級。表達方式
food := input("what food do you like?: ") != "quit"
讀作
food := (input("what food do you like?: ") != "quit")
這就是foodbool 的原因。您可以通過添加括號來修復它:
while (food := input("what food do you like?: ")) != "quit":
foods.append(food)
uj5u.com熱心網友回復:
它正在比較輸入和“退出”。當您輸入 kl 和 kgh 時,它們不等于“退出”,而食物是,True并且它會附加到食物中。當您輸入“quit”作為輸入時,quit 等于quit,food isFalse和運算式變成while False這樣回圈中斷。相反,請執行以下代碼:
foods=[]
while True:
food=input("what food do you like: ")
if food=="quit":
break
else:
foods.append(food)
print(foods)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/342647.html
標籤:Python 列表 python-赋值表达式
