代码运行错误寻找原因

img

img


能帮我看看为啥我运行的代码这里总是报错啊,我输入的代码跟mooc是一样的啊,有没有董哥给解答一下,非常感谢

你的getNum函数有问题,永远只能返回长度为1的list:

def getNum():
    nums = []
    iNumStr = input("please:")

    while iNumStr != "":
        nums.append(eval(iNumStr))
        iNumStr = input("please:")

    return nums

报错的原因是发生了除0错误,具体是getNum()函数里,将返回列表放到了for循环里面,所以getNum()获取一个整数就返回了,然后dev 函数里len(numbers)-1就为0,进行除法运算,就发生了除0错误,所以就报错了;

然后还有其他地方需要修改下。

修改如下:

参考链接:
https://baike.baidu.com/item/%E6%A0%87%E5%87%86%E5%B7%AE/1415772


def getNum():
    nums=[]
    iNumStr = input("请输入数字(回车退出):")
    while iNumStr != "":
        nums.append(eval(iNumStr))
        iNumStr=input("请输入数字(回车退出):")
    return nums # 循环结束,再将输入的数字列表返回

# 求平均值
def mean(numbers):
    s=0.0
    for num in numbers:
        s+=num  # 将列表numbers中的数字都累加到和s中
    return s/len(numbers) # 同上,循环结束,计算完总和,再将计算出的平均值返回

# https://baike.baidu.com/item/%E6%A0%87%E5%87%86%E5%B7%AE/1415772    
# 这里应该是求样本标准差
def dev(numbers,mean):
    sdev=0.0
    for num in numbers:
        sdev = sdev +(num-mean)**2
    return pow(sdev/(len(numbers)-1),0.5)


# 求中位数
def median(numbers):
    # https://www.runoob.com/python/python-func-sorted.html
    numbers=sorted(numbers) #  这里应该需要将排序后的结果再赋值给numbers
    size = len(numbers)
    if size % 2==0:
        med = (numbers[size//2-1]+numbers[size//2])/2
    else:
        med = (numbers[size//2])
    return med

n = getNum()
m = mean(n)
#med改为median
print("平均值:{}, 方差:{}, 中位数{}".format(m,dev(n,m),median(n)))

img

【以下回答由 GPT 生成】

这是一个Markdown格式的文本片段,但是其中的图片标签并没有提供图片的路径(src属性为空)。因此,在加载图片时会报错。

要解决这个问题,你可以将正确的图片路径填入src属性中。例如:

<p></p><p class="md_img_container"><img class="md_img" src="path/to/image1.jpg" alt="img" align="left" /></p><p></p>
<p></p><p class="md_img_container"><img class="md_img" src="path/to/image2.jpg" alt="img" align="left" /></p><br />

请确保将"path/to/image1.jpg"和"path/to/image2.jpg"替换为真实的图片路径。如果图片位于与代码文件相同的目录中,可以使用相对路径,否则需要提供完整的绝对路径。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

没有将输入的文字(str类型)转化为你要的类型