问题描述
以下代码来自python类简介中的教科书。 在问我的同学,讲师和在互联网上搜索此问题之间,似乎没人知道错误的出处。 我的教练说他看不出第二句话是从哪里来的。 如果有人对此有任何经验或任何建议,我将不胜感激。
>>> # quadratic.py
# A program that computes the real roots of a quadratic equation.
# Note: this program crashes if the equation has no real roots.
import math # Makes the math library available.
def main():
print("This program finds the real solutions to a quadratic")
print()
a,b,c = eval(input("Please enter the coefficients (a,b,c): "))
discRoot = math.sqrt(b*b*-4*a*c)
root1 = (b + discRoot) / (2 * a)
root2 = (b - discRoot) / (2 * a)
print()
print("The solutions are: ", root1, root2)
main()
SyntaxError: multiple statements found while compiling a single statement
1楼
好像您已将整个脚本粘贴到某个IDE中的交互式shell中。 您的IDE不会一次一遍地传递给Python,而是一次全部传递。 交互式外壳程序背后的代码不喜欢这样,所以您会遇到错误。
我建议将您的代码放入文件中,然后运行它,而不是直接通过外壳输入代码。
如果确实只需要使用交互式外壳,则将不同的语句分隔到它们自己的输入行上(顶部的import
语句,中间的def
语句,最后的main()
表达式语句)。