簡體   English   中英

不確定為什么打印 function 沒有發生

[英]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.

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