Python 用户输入平均值

1 投票
3 回答
2563 浏览
提问于 2025-04-17 22:14

我正在做一个学校的作业,作业要求用户输入三个整数,然后我需要把这三个整数作为参数传递给一个叫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
  1. 你在调用avg这个函数的时候,没有传递任何变量给它。
  2. 你打印了average这个值,但它只在avg这个函数内部定义过。
  3. 你在打印之后才调用了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 这个变量只是一个局部变量,也就是说它只在这个函数内部有效,外面是无法使用的。

撰写回答