想利用如下代码计算平均值

想利用函数做一个计算平均值的代码
但是结果很奇怪,看代码也看不出端倪
如输入1,2,3.但是输出1.2。
实际上应该输出2。即(1+2+3)/2的结果

img


img

因为长度为5,把逗号也计算进去了。
在if i==','内,加上v=v-1

img

建议用split直接逗号拆分出各个数字

def getNum():
    num = input().split(',')
    return num
def mean(numbers):
    total=0.0
    v=len(numbers)
    for i in numbers:
        total += int(i)
    avg = total/v
    print(avg)
n=getNum()
mean(n)

img

img

输入数字之间是不是有空格什么的 如果有的话可以打印下v看看 1.2 应该是 6/5 导致的