不确定为什么没有打印功能

时间:2019-10-01 01:37:17

标签: python

给了我一个代码,在代码里面有2点需要输入我自己的代码来“解决”问题。一切似乎都很好,但是当我在选择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 ######

我没有选择3进行sys.exit的地方,只是不认为这不是必需的,因为这不是我遇到的问题。

因此在userChoice == 2下,我添加了代码,如果输入的内容==,则添加背包代码中的一项以打印消息。问题是,它没有执行此操作,只是将其重置为原始的3个选择,我在这里做错了什么?

2 个答案:

答案 0 :(得分:3)

您不是要检查背包中是否有物品,而是要检查该物品是否与背包相等。使用以下

if itemToCheck in itemsInBackpack:

代替:

if itemToCheck == itemsInBackpack:

此外,请注意,如果您输入"BOOK",“ booK”或任何小写/大写形式的变体,即使您将itemToCheck in itemsInBackpack设为{{ 1}}。

答案 1 :(得分:0)

问题是if itemToCheck == itemsInBackpack:

itemsInBackpack是一个列表,因此应为if itemToCheck in itemsInBackpack: