函数和条件语句

时间:2018-06-14 00:24:32

标签: python

我想知道是否可以将条件语句放在函数中,根据执行的条件,它会移动到另一个函数上。

例如:

def main():
    animal = input("Enter an animal name: ")
    if animal == cow:
        cow()
    else:
        other()

def cow():
    print("You entered cow")

def other():
    print("You didn't enter cow")

main()

4 个答案:

答案 0 :(得分:1)

是。你的例子几乎就是你如何做到的。但是,您的代码中存在一个问题,那就是您的if条件。您需要检查animal返回的值是否为字符串,而不是当前正在执行的函数或变量。

您可以将其更改为:

if animal == "cow":

答案 1 :(得分:0)

是的,您可以在函数内部实现一个控制结构,该结构可以确定要使用的函数。我会将您的代码更改为:

def main():
    animal = input("Enter an animal name: ")
    if (animal == 'cow'):
        cow()
    else:
        other()

def cow():
    print("You entered cow")

def other():
    print("You didn't enter cow")

main()

这将允许输入与cow(字符串到字符串比较)进行正确比较。

答案 2 :(得分:0)

是的,您拥有的代码几乎是完美的。唯一的问题是,当你进行比较时,你需要在牛周围加上引号,以便python知道你正在尝试比较字符串" cow"而不是一些未定义的变量牛。此外,如果要使其不区分大小写,可以对动物变量使用.lower()方法。以下代码正常运行:

def main():
    animal = input("Enter an animal name: ")
    if animal.lower() == "cow":
        cow()
    else:
        other()

def cow():
    print("You entered cow")

def other():
    print("You didn't enter cow")

main()

答案 3 :(得分:0)

试试这个要短得多:

def main():
    animal = input("Enter an animal name: ")
    cow() if animal == 'cow' else other()

def cow():
    print("You entered cow")

def other():
    print("You didn't enter cow")

main()

输出:

Enter an animal name: cow
You entered cow

Enter an animal name: snake
You didn't enter cow