python和ipython控制台有什么区别?

时间:2018-02-07 15:09:47

标签: python

我是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)

1 个答案:

答案 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。如果您只需要将字符串转换为数字,则可以使用inputint(...)