Python3:If和else运行良好,但添加elif时没有输出

Python3:If和else运行良好,但添加elif时没有输出,python,Python,我试图运行一个简单的if、elif和else语句。 我的代码是: def main(): x, y = 100, 100 if (x < y): st = "x is less than y" elif (x == y): st = "x is the same as y" else: st = "x is greater than y" print(st) 我从if和else开始,得到x大于y

我试图运行一个简单的if、elif和else语句。 我的代码是:

def main():
    x, y = 100, 100


    if (x < y):
        st = "x is less than y"
    elif (x == y):
        st = "x is the same as y"
    else:
        st = "x is greater than y"

    print(st)
我从if和else开始,得到x大于y。显然,这是不正确的,所以我添加了一个elif语句,以得到x和y是相同的。但是,当我运行上述代码时,没有输出。它没有出现错误,只是空白


有人能告诉我为什么会这样,或者我做错了什么吗?

在定义main之后,需要运行main。 与其他编程语言不同的是,Python不需要 自动运行名为main的函数

试试这个:

def main():
    x, y = 100, 100
    if x < y:
        st = "x is less than y"
    elif x == y:
        st = "x is equal to y"
    else:
        st = "x is greater than y"

    return st


print(main())
毕竟main函数应该调用

def main():
    x, y = 100, 100


    if (x < y):
        st = "x is less than y"
    elif (x == y):
        st = "x is the same as y"
    else:
        st = "x is greater than y"

    print(st)

main()

埃利夫没有问题。函数需要输出,并且必须返回某些内容。另外,你必须在某个地方调用这个函数,这样它才能工作。 所以你可以试试这个:

def main():
    x, y = 100, 100
    if x < y:
        st = "x is less than y"
    elif x == y:
        st = "x is equal to y"
    else:
        st = "x is greater than y"

    return st


print(main())

代码看起来没问题,您只是忘记调用函数main。

请您将缩进显示为代码中的缩进。这很重要!您应该调用main函数并遵循if中的凹痕statments@schwobaseggl代码按原样粘贴得很清楚。只是添加了环绕``修复了缩进。我不能复制这个,你能澄清一下吗?这没有帮助。我仍然没有得到任何输出,请尝试从if语句中删除括号。如果失败了,我也帮不了你,还是一样。谢谢你的帮助!这没有帮助,我仍然没有得到任何输出。@Dan Zastavnuk我在我的SDK上尝试了它。它可以工作,请分享错误。您还告诉我您在哪里尝试过它。您在命令窗口上运行python吗?我没有收到错误消息。我刚刚开始学习,如果我的解释不正确或措辞不正确,我会道歉。我渐渐习惯了编程语言。我在Visual Studio代码中键入代码并开始调试。我还在命令窗口上打开了该文件。当它的值较大或较小时,您没有问题吗?只要它是平等的?您是否在VS代码中复制并通过了此项?您应该遵循空格或凹痕,如果,唯一可能导致此问题的是,允许VS代码生成空格