我试图在一个要求用户输入3个整数的学校作业上工作,然后我需要将这三个整数作为参数传递给一个名为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()
average
仅作为函数avg
内部的局部变量存在
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)
您应该使用print(avg(a,b,c))
,因为average
变量只存储在函数中,不能在函数外使用
- 你调用avg时没有给它传递变量
- 您打印的平均值仅在avg函数中定义。
- 你在打印后呼叫了avg。
将print (average)
更改为
average = avg(a, b, c);
print(average)