from pip._vendor.distlib.compat import raw_input
Inventory1 = ["Rice", "Maze", "Oil", "Toothpaste", "Beans", "Cloth", "Pepper"]
print("Here are present items list information:", Inventory1)
CheckInv1 = input('Is this item present in the inventory: \n')
for CheckInv1 in Inventory1:
if CheckInv1 == ("Rice", "Maze", "Oil", "Toothpaste", "Beans", "Cloth", "Pepper"):
print("This item is present in the inventory list.")
break
else:
print("User entered item is not present in the list.")
break
问题:即使在代码输入中输入“Oil”文本,它仍然显示else print语句。 如果语句不进行比较。任何建议。谢谢
很抱歉,此代码全部错误:
覆盖来自
input
的CheckInv1
的值, 因为重复使用循环控制变量的相同名称测试
CheckInv1
是否与值的元组相等,但CheckInv1
永远不会是一个元组,所以等式不是 可能的您将
break
放在if
的两个分支中,因此无论if
条件是否为真,循环将在第一个条件后结束 迭代你真正需要做的很简单:
您正在尝试将项与元组进行比较。这是不同的类型,因此如果总是被评估为false
将检查
CheckInv1
内的内容是否是元组的元素另外,请注意,您忽略了输入。内部for循环(
for CheckInv1 in Inventory1:
)CheckInv1
是前面定义的Invenory1
的一项,而不是用户输入若您的目的是检查用户输入是否在清单中,那个么应该删除for循环。如果要执行多次,请使用标志(如布尔值)保持循环,只要它的计算结果为true,并要求用户在循环中输入另一个输入:
此代码不断请求用户输入,直到其中一种产品进入库存
相关问题 更多 >
编程相关推荐