[英]Unsure why print function isn't happening
我得到了一個代碼,其中有兩個點我必須輸入我自己的代碼來“解決”問題。 一切似乎都很好,但是當我在選擇 2 之后輸入某些內容時,它只是簡單地重置到開頭而不打印我要求它打印的內容。
itemsInBackpack = ["book", "computer", "keys", "travel mug"]
while True:
print("Would you like to:")
print("1. Add an item to the backpack?")
print("2. Check if an item is in the backpack?")
print("3. Quit")
userChoice = input()
if(userChoice == "1"):
print("What item do you want to add to the backpack?")
itemToAdd = input()
####### YOUR CODE HERE ######
itemsInBackpack.append(itemToAdd)
####### YOUR CODE HERE ######
if(userChoice == "2"):
print("What item do you want to check to see if it is in the backpack?")
itemToCheck = input()
####### YOUR CODE HERE ######
if itemToCheck == itemsInBackpack:
print('That item is in the backpack.')
####### YOUR CODE HERE ######
我忽略了它執行 sys.exit 的選項 3,只是認為不需要它,因為這不是我遇到的問題。
因此,在 userChoice == 2 下,我添加了代碼,如果在背包列表中輸入 == 項目,則打印消息。 問題是,它沒有這樣做,它只是重置回原來的 3 個選擇,我在這里做錯了什么?
您不是在檢查物品是否在背包中,而是在檢查物品是否與您的背包相同。 使用以下
if itemToCheck in itemsInBackpack:
代替:
if itemToCheck == itemsInBackpack:
此外,請注意,如果有人輸入"BOOK"
、 "booK" 或小寫/大寫的任何變體,即使您將itemsInBackpack
設置為itemsInBackpack = ["book", "computer", "keys", "travel mug"]
, itemToCheck in itemsInBackpack
也會為 false itemsInBackpack = ["book", "computer", "keys", "travel mug"]
.
問題是if itemToCheck == itemsInBackpack:
itemsInBackpack
是一個列表,所以if itemToCheck in itemsInBackpack:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.