如何将我自己的函数放在 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)