我写了一个简单的小石头,剪子,布的游戏在Python和有一些困难的,如果从句,这里的相关代码:怪异的行为,如果条款
def play():
user = str(input("rock, paper or scissors? Choose one: "))
print("You chose", user)
if user == "paper" or "Paper":
paper()
elif user == "rock" or "Rock":
rock()
elif user == "scissors" or "Scissors":
scissors()
else:
print("Sorry, your choice was not valid, try again please.")
play()
现在,无论我是否选择岩石,纸张或剪刀,它总会触发第一个条件,导致我进入纸张功能。其实,我已经解决了它,它是我把第二个条件,如果条款,在“纸张”,“摇滚”和“剪刀”,这是我在那里住了情况的人首字母大写为。我的问题是,为什么第二个条件触发了第一个if子句?当我把所有的第二根琴弦都取下来的时候,它完全正常工作,摇滚引发了第二种情况,剪刀引起了第三种情况,依此类推。我希望这不是太混乱。谢谢。
这实际上是这里数十个同等问题的重复。不幸的是,搜索它们非常困难。 – abarnert
这个问题在SO上出现过很多次。如果人们的标题更具描述性,其他人就可以从他们的问题和答案中受益。而不是“奇怪的行为......”也许“或”总是在python if语句中返回true“。对于未来的Google搜索来说,这可能更有成效。 – SethMMorton
什么是更有用的标题?我会改变它。对于那个很抱歉。 –