如何将我自己的函数放在 if 语句中?
How to put my own function in side an if statement?
我正在尝试制作一个简单的二十一点游戏,我希望能够创建我自己的功能,这已经可以做到,然后将它放在 if 语句中,这样如果用户想要 'stand' 然后它 运行 是 'stand' 的函数。但是,当 python 通读代码时,即使用户说 'Hit',它也会看到所有函数,而只是 运行 全部。
def stand():
print("You have chosen to Stand")
#my stand code will go here
def hit():
print("You have chosen to Hit")
#my Hit code will go here
def doubledown():
print("You have chosen to Double Down")
#my Double Down code will go here
def step():
step = input("What would you like to do now? Stand, Hit or Double Down")
if step == ("Stand") or ("stand"):
stand()
if step == ("Hit") or ("hit"):
hit()
if step == ("Double down") or ("down"):
doubledown()
else:
step()
step()
我希望用户能够一次 运行 'Hit'、'double down' 或 'stand' 功能 1 而无需全部 运行宁.
def stand():
print("You have chosen to Stand")
#my stand code will go here
def hit():
print("You have chosen to Hit")
#my Hit code will go here
def doubledown():
print("You have chosen to Double Down")
#my Double Down code will go here
def step():
step = input("What would you like to do now? Stand, Hit or Double Down")
if (step == "Stand" or step== "stand"):
stand()
elif (step == "Hit" or step=="hit"):
hit()
elif (step == "Double down" or step=="down"):
doubledown()
else:
step()
step()
问题出在 if 语法中。
因为这里错误地使用了 if 语句,例如“if step == ("Hit") or ("hit"):”
python 将执行 step==(“Hit”) 并根据用户输入结果为 False 或 True 但它跟在字符串“hit”之后 python 将像 True 这样读,所以最后,它就像“if (step==(“Hit”)) or (True) ,那么你的每个 if 语句都会完成,因为逻辑上是 True !
你应该改变你的代码
如果 (step==sth) 或 (step==sth)
我正在尝试制作一个简单的二十一点游戏,我希望能够创建我自己的功能,这已经可以做到,然后将它放在 if 语句中,这样如果用户想要 'stand' 然后它 运行 是 'stand' 的函数。但是,当 python 通读代码时,即使用户说 'Hit',它也会看到所有函数,而只是 运行 全部。
def stand():
print("You have chosen to Stand")
#my stand code will go here
def hit():
print("You have chosen to Hit")
#my Hit code will go here
def doubledown():
print("You have chosen to Double Down")
#my Double Down code will go here
def step():
step = input("What would you like to do now? Stand, Hit or Double Down")
if step == ("Stand") or ("stand"):
stand()
if step == ("Hit") or ("hit"):
hit()
if step == ("Double down") or ("down"):
doubledown()
else:
step()
step()
我希望用户能够一次 运行 'Hit'、'double down' 或 'stand' 功能 1 而无需全部 运行宁.
def stand():
print("You have chosen to Stand")
#my stand code will go here
def hit():
print("You have chosen to Hit")
#my Hit code will go here
def doubledown():
print("You have chosen to Double Down")
#my Double Down code will go here
def step():
step = input("What would you like to do now? Stand, Hit or Double Down")
if (step == "Stand" or step== "stand"):
stand()
elif (step == "Hit" or step=="hit"):
hit()
elif (step == "Double down" or step=="down"):
doubledown()
else:
step()
step()
问题出在 if 语法中。
因为这里错误地使用了 if 语句,例如“if step == ("Hit") or ("hit"):” python 将执行 step==(“Hit”) 并根据用户输入结果为 False 或 True 但它跟在字符串“hit”之后 python 将像 True 这样读,所以最后,它就像“if (step==(“Hit”)) or (True) ,那么你的每个 if 语句都会完成,因为逻辑上是 True !
你应该改变你的代码 如果 (step==sth) 或 (step==sth)