我的问题是关于让用户从列表中拉出物品。如果列表中的项目没有从列表中拉出,我想告诉用户他不正确。所以我的代码看起来像这样:
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
,但似乎感觉没有组织,因此我不得不拆开列表并分配每个变量。
提前谢谢!
答案 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
,它将测试字符串是否在列表中。