我正在制作一个模拟摇滚,剪刀,纸质游戏的程序,这是我的代码:
weaponsList=['Rock', 'Scissors', 'Paper']
Play1=input('Choose your weapon: ')
if Play1 in weaponsList:
if True:
print('You chose '+ Play1)
if False:
print('Choose a valid weapon: Rock, Scissors or Paper')
如果为true,程序会很好,但如果为False,它就会终止。我认为这是一个简单的逻辑技巧,但我看不到它。
答案 0 :(得分:1)
weaponsList = ['Rock', 'Scissors', 'Paper]
Play1 = input('Choose your weapon: ')
if Play1 in weaponsList:
print('You chose '+ Play1)
else:
print('Choose a valid weapon: Rock, Scissors or Paper')
如果选择正确的武器,if语句为True,则不需要另外的if语句。
答案 1 :(得分:1)
您对如何执行支票感到困惑。
当您在 Play
中查看weaponList
是否为时, 实际上是您为{{1}进行检查的地方}或True
。 False
和if True
不的行为与您认为的相似。最终,您需要做的就是:
if False
因此,对于上述情况,如果weaponsList=['Rock', 'Scissors', 'Paper']
Play1=input('Choose your weapon: ')
if Play1 in weaponsList:
print('You chose '+ Play1)
else:
print('Choose a valid weapon: Rock, Scissors or Paper')
中的Play1
输入, 结果将为weaponsList
,你将最终打印出#34;你选择了..."线。
如果True
中的不是,那么它将落入您的其他声明并打印"选择一个有效的武器:..."线。
确保您的匹配不会受到严格限制的改进领域。让您的列表仅包含小写字词:
weaponsList
然后,当您检查包含时,只需在['rock', 'scissors', 'paper']
字符串上调用lower
方法:
Play1
答案 2 :(得分:0)
不是真或假但如果是in
数组,那么您的代码应该是这样的
weaponsList=['Rock', 'Scissors', 'Paper']
Play1=input('Choose your weapon: ')
if Play1 in weaponsList:
print('You chose '+ Play1)
else:
print('Choose a valid weapon: Rock, Scissors or Paper')
答案 3 :(得分:0)
您的问题在于如果声明。我会告诉你一个例子。
if condition:
indentedstatementBlock
这意味着如果条件为真,则执行缩进语句。所以当你的条件成立时它就会发生。 所以我会重写语句。
if Play1 in weaponsList:
print('You chose '+ Play1)
else:
print('Choose a valid weapon: Rock, Scissors or Paper')