[英]Python 3 syntax error invalid syntax
使用此代码,我试图生成简单的乘法表。 该程序应要求输入并将该数字乘以最大 15 的范围,并生成该数字的乘法表。 在 if_name_ == ' main ': 行之后,我以冒号后的语法错误告终。 我通常在 python 2 中编程,所以 python 3 对我来说有点新,但我不确定有什么区别。 下面我列出了简短但完整的代码。 任何帮助将非常感激。
'''Multiplication Table'''
def multi_table(a):
for i in range(1,16):
print(' {0} x {1} = {2} '.format(a, i, a*i))
if_name_ == '_main_':
a = input('Enter a number: ')
multi_table(float(a))
if_name_ == '_main_':
a = input('Enter a number: ')
multi_table(float(a))
应该 :
if __name__ == "__main__":
a = input('Enter a number: ')
multi_table(float(a))
请注意,变量__name__
和__main__
都有两个下划线,并且 if 关键字和条件的开头之间必须有一个空格。
正如@Maroun Maroun 所说,它必须是if __name__ == "__main__"
。 但你不会需要它。 只需写在底部:
'''Multiplication Table'''
def multi_table(a):
for i in range(1,16):
print(' {0} x {1} = {2} '.format(a, i, a*i))
a = input('Enter a number: ')
multi_table(float(a))
也应该工作。
编辑:在官方文档中:
https://docs.python.org/3/library/main.html
if __name__ == "__main__":
“无效语法”也可能是因为您忘记在前一行代码上加上括号。
在提供的示例中,(i) if
后面缺少一个空格,(ii) 符号的名称应该有两对下划线: __name__
。 如果这两个更正解决了您的问题,那就太好了。
但是,如果您还有另一个更神秘的未解决语法错误,请继续阅读...
最近我遇到了一个非常相似的错误消息,并且很难找到根本原因,因为错误消息似乎指向了错误的方向。 该错误似乎表明语法错误位于if
语句的末尾。 但是,在 Python 3.x 中,我注意到如果在 python 源文件中发生括号不匹配错误,错误可能会在下一个块的开头而不是实际发生不匹配的位置报告。
在if
语句之前检查整个源代码文件中不匹配的括号是值得的。 检查您的所有(
s 是否都与关闭匹配)
。
同样的问题。 它显示 main 或 name 未定义
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.