繁体   English   中英

从清单中拉出

[英]Pulling from a 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但似乎感觉没有组织,因此我不得不拆开列表并分配每个变量。

提前致谢!

这里有一些错误,例如将字符串与列表进行比较,或者随机切片以希望它可以工作。 而且您的输入语句在循环之前会创建一个无限循环,因为您要一次又一次地比较两个不同类型的变量( 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中的bt in Body_Type它测试字符串是否在列表中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM