给了我一个代码,在代码里面有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个选择,我在这里做错了什么?
答案 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: