Python 用户输入平均值
我正在做一个学校的作业,作业要求用户输入三个整数,然后我需要把这三个整数作为参数传递给一个叫avg的函数,这个函数会返回这三个整数的平均值,结果是一个小数。
这是我目前写的代码,但我遇到了一个错误:
line 13, in <module>
print (average)
NameError: name 'average' is not defined
有什么建议吗?
a = float(input("Enter the first number: "))
b = float(input("Enter the second number: "))
c = float(input("Enter the third number: "))
def avg(a,b,c):
average = (a + b + c)/3.0
return average
print ("The average is: ")
print (average)
avg()
3 个回答
0
你应该用 print(avg(a,b,c))
这个方式来输出结果,因为 average
这个变量只在函数内部存在,外面是用不了的。
0
- 你在调用avg这个函数的时候,没有传递任何变量给它。
- 你打印了average这个值,但它只在avg这个函数内部定义过。
- 你在打印之后才调用了avg这个函数。
把 print (average)
改成
average = avg(a, b, c);
print(average)
1
def avg(a,b,c):
average = (a + b + c)/3.0
return average
answer = avg(a,b,c) # this calls the function and assigns it to answer
print ("The average is: ")
print (answer)
在函数 avg
里面,average
这个变量只是一个局部变量,也就是说它只在这个函数内部有效,外面是无法使用的。