为什么这段代码不运行? (我是新编码)

问题描述 投票:0回答:5

我对编码很新,我刚开始学习python。我试着编写这段代码,因为我曾经在网站上看过类似的东西。 (我不记得哪一个)但代码不知何故没有运行。

def getNumber():
    result = int(input("Enter a number: "))
    return result 

def Main():
    print("test")

    output = getNumber()
    print(output)

if __name__ = "__main__":
    Main()

它应该是打印您键入的数字。没有错误信息,我现在很困惑。

谢谢你的帮助

python python-3.x
5个回答
4
投票

你在==忘记了=而不是__name__ = "__main__":,请改用:

def getNumber():
  result = int(input("Enter a number: "))
  return result

def Main():
  print("test")

output = getNumber()
print(output)

if __name__ == "__main__":
  Main()

预期的计划产出:

test
Enter a number: 5
5

此外,您不必过于复杂,您可以使用:

print("test")
result = int(input("Enter a number: "))
print(result)

1
投票

问题是你使用赋值运算符(=)而不是equals运算符(==)。

赋值运算符(==)用于为名称赋值:

my_name = "LogicalBranch"

而equals运算符(==)用于确定某个值是否等于另一个值:

1 == 1 # Expected output: True
2 == 1 # Expected output: False

解决方案是改变你的最后两行:

if __name__ = "__main__":
  Main()

对此:

if __name__ == "__main__":
  Main()

另一个提示是在命名函数和变量时使用PEP8 convention,因此将main函数命名为main而不是Main可能更有意义。

祝好运。


0
投票

if __name__ = "__main__":

应该是if __name__ == "__main__":


0
投票

=用于声明变量。 ==是你用来比较的(如在if子句中)

尝试更改它。


0
投票

每个人都说要把这个“==”

只记得当你执行此操作时“=”它会为名称赋值。但是当你执行此操作时,“==”会检查它是否等于该值

如果这是有道理的

© www.soinside.com 2019 - 2024. All rights reserved.