从清单中拉出

时间:2018-09-22 19:37:56

标签: python list

我的问题是关于让用户从列表中拉出物品。如果列表中的项目没有从列表中拉出,我想告诉用户他不正确。所以我的代码看起来像这样:

Body_Type = ['Large', 'Medium', 'Small']

print('Create a Character-')

print('Body Type Choices: ' + str(Body_Type))
bt = input('Enter your Body Type: ')
while bt != Body_Type:
    if bt == Body_Type[0:]:
        print('Your Body Type is: ' + bt)

else:
        print('Invalid Body Type')

我想做的是让用户创建一个角色。这只是我的第一个简单项目的第一部分。我想让他从清单中的一项中拉出,分别是“大,中,小”。我希望重复进行直到用户选择三个。我尝试使用or,但似乎感觉没有组织,因此我不得不拆开列表并分配每个变量。

提前谢谢!

1 个答案:

答案 0 :(得分:1)

这里有几个错误,例如将字符串与列表进行比较,或者随机切片以希望它可以工作。而且您的输入语句在循环之前会创建一个无限循环,因为您要一次又一次地比较两个不同类型的变量(bt != Body_Type始终为True bt的内容中,因为左手是一个字符串,右手是一个列表。

但是编写一些工作代码并不应该那么复杂。

我将创建一个无限循环并仅在列表中有选择时中断:

while True:
    bt = input('Enter your Body Type: ')
    if bt in Body_Type:
        print('Your Body Type is: ' + bt)
        break
    else:
        print('Invalid Body Type')

更简单明了(如果失败,则重复输入)。无限循环(始终为真条件)可以避免重复输入调用和测试。循环播放,输入字符串,如果匹配则退出循环。

您要查找的关键语句是bt in Body_Type,它将测试字符串是否在列表中。