请问一下有没有大佬知道我这为啥是这个
序列那节课的动动手第一题 谢谢各位大佬的帮忙,太感谢了 浮点数运算有误差 sum = num #这个写错了 如果是列表内的整型和浮点数求和 应该写 sum = 0 而不是取第一个的值当做和的开始值 首先,求和多加了一个数,应该以 sum = 0 开始,其次,小数的加减是有偏差的,因为虽然在你看来是10进制的运算,但是它会把十进制数字转化为二进制数字进行运算,所以会出现一些例外,比如出现无限循环小数啥的,这是计算机计算原理导致的,不用管他:
>>> 0.3-0.2
0.09999999999999998
你要是对这种运算结果不满意,可以先同乘一个10的n次方,把两个加数变成整数,最后把结果同样除以一个一样的数就行了,如下:
>>> a = 0.3*100 - 0.2*100
>>> a = a/100
>>> a
0.1 也可以看一下用decimal函数运算 sum都变紫色了还敢用sum当变量名{:10_313:} 很多语言都这样。需要对结果的格式做规范。round(x,2),x是你原来输出的内容,2表示指定的小数位是2位。 不要用sum做变量 浮点数运算有误差 冬雪雪冬 发表于 2021-8-18 12:10
浮点数运算有误差
谢谢大佬
页:
[1]