我为不同的水果创建了一个购物清单,并且输出应为“ not done”,因为根据以下声明它为假:
shopping_cart = ['apples', 'oranges', 'banana', 'kiwi', 'avocado', 'peaches']
s_list = list(shopping_cart)
for mango in s_list:
if mango in shopping_cart:
print('Done')
else:
print('not done')
没有错误。
答案 0 :(得分:2)
shopping_cart = ['apples', 'oranges', 'banana', 'kiwi', 'avocado', 'peaches']
s_list = list(shopping_cart) # shopping_cart is already list so you can ignore it.
if 'mango' in s_list:
print('Done')
else:
print('Not Done')
答案 1 :(得分:2)
我认为这是您要尝试做的事情:
shopping_cart = ['apples', 'oranges', 'banana', 'kiwi', 'avocado', 'peaches']
if 'mango' in shopping_cart:
print('Done')
else:
print('Not done')
在您的代码中,您正在浏览购物车列表,并检查是否有该商品(当然是这样),因此它只会打印一堆“完成”
答案 2 :(得分:2)
您的问题是您对代码的工作方式有误解。
for mango in s_list
创建一个名为mango的占位符变量,然后在迭代过程中为其分配s_list
中每个项目的值。由于当前为mango
值的项目始终在列表中,因此该部分if mango in shopping_cart
始终为true。
此代码将检查每个项目是否为芒果:
shopping_cart = ['apples', 'oranges', 'banana', 'kiwi', 'avocado', 'peaches']
s_list = list(shopping_cart)
for item in s_list:
if item == 'mango':
print('Done')
else:
print('Not done')
如果您只想知道购物车中是否有芒果,则可以跳过循环并按以下步骤操作:
if 'mango' in shopping_cart:
print('Done')
else:
print('Not done')