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

时间:2019-04-16 15:27:33

标签: python python-3.x

我对编码还很陌生,一天前我才刚开始学习python。我尝试编写此代码是因为我曾经在一个网站上看到过类似的内容。 (我不记得是哪一个),但是代码却以某种方式无法运行。

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

def Main():
    print("test")

    output = getNumber()
    print(output)

if __name__ = "__main__":
    Main()

应该在打印您键入的号码。没有错误消息,我现在很困惑。

感谢您的帮助

5 个答案:

答案 0 :(得分: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 :(得分:1)

问题是您使用赋值运算符(=)而不是等于运算符(==)。

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

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可能更有意义。

祝你好运。

答案 2 :(得分:0)

if __name__ = "__main__":

应为if __name__ == "__main__":

答案 3 :(得分:0)

=用于声明变量。 ==是您用来比较的对象(如if子句中的内容)

尝试更改它。

答案 4 :(得分:0)

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

请记住,当您执行“ =”时,它正在为名称分配一个值 但是当您执行“ ==”时,它会检查它是否等于该值

如果这样