我是python的新手。我正在使用spyder编辑器。我做了基本打印出的总和和平均值。但是,当我在python控制台上运行此代码时,我收到错误“num1未定义”。但是,当我在i-python控制台上运行此代码时,它运行得很好。我问为什么我在python控制台上出错。
def problem1(num1,num2,num3):
total = num1+num2+num3
average = total/3
print("The sum of numbers are: ",total)
print("The average of numbers are: ",average)
return(total,average)
num1 = eval(input("Enter the number 1: "))
num2 = eval(input("Enter the number 2: "))
num3 = eval(input("Enter the number 3: "))
problem1(num1,num2,num3)
答案 0 :(得分:3)
如果将此代码粘贴到Python控制台,则会将第{TemplateBinding}
行作为第一个num2 = eval(input("Enter the number 2: "))
的答案进行评估,并在那里得到一个SyntaxError:
input
问题在于,当您将代码粘贴到Python控制台时,它不会停留在>>> num1 = eval(input("Enter the number 1: "))
Enter the number 1: num2 = eval(input("Enter the number 2: "))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
num2 = eval(input("Enter the number 2: "))
^
SyntaxError: invalid syntax
,它只会提供您粘贴的任何内容作为输入的答案。
但是,作为旁注:eval
is dangerous。如果您只需要将字符串转换为数字,则可以使用input
或int(...)
。