鱼C论坛

 找回密码
 立即注册
查看: 1706|回复: 10

[已解决]请问一下有没有大佬知道我这为啥是这个

[复制链接]
发表于 2021-8-18 12:06:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
序列那节课的动动手第一题
最佳答案
2021-8-18 12:26:10
首先,求和多加了一个数,应该以 sum = 0 开始,

其次,小数的加减是有偏差的,因为虽然在你看来是10进制的运算,但是它会把十进制数字转化为二进制数字进行运算,所以会出现一些例外,比如出现无限循环小数啥的,这是计算机计算原理导致的,不用管他:
>>> 0.3-0.2
0.09999999999999998

你要是对这种运算结果不满意,可以先同乘一个10的n次方,把两个加数变成整数,最后把结果同样除以一个一样的数就行了,如下:
>>> a = 0.3*100 - 0.2*100
>>> a = a/100
>>> a
0.1
QQ图片20210818120255.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-8-21 14:12:39 | 显示全部楼层
谢谢各位大佬的帮忙,太感谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-18 12:10:25 | 显示全部楼层
浮点数运算有误差
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-8-18 12:12:26 | 显示全部楼层
sum = num[0] #这个写错了 如果是列表内的整型和浮点数求和 应该写 sum = 0 而不是取第一个的值当做和的开始值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-8-18 12:26:10 | 显示全部楼层    本楼为最佳答案   
首先,求和多加了一个数,应该以 sum = 0 开始,

其次,小数的加减是有偏差的,因为虽然在你看来是10进制的运算,但是它会把十进制数字转化为二进制数字进行运算,所以会出现一些例外,比如出现无限循环小数啥的,这是计算机计算原理导致的,不用管他:
>>> 0.3-0.2
0.09999999999999998

你要是对这种运算结果不满意,可以先同乘一个10的n次方,把两个加数变成整数,最后把结果同样除以一个一样的数就行了,如下:
>>> a = 0.3*100 - 0.2*100
>>> a = a/100
>>> a
0.1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-8-18 13:40:39 | 显示全部楼层
也可以看一下用decimal函数运算
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-8-18 13:43:06 | 显示全部楼层
sum都变紫色了还敢用sum当变量名
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2021-8-18 14:28:54 | 显示全部楼层
很多语言都这样。需要对结果的格式做规范。round(x,2),x是你原来输出的内容,2表示指定的小数位是2位。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-8-20 17:20:30 | 显示全部楼层
不要用sum做变量
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-8-21 09:42:47 | 显示全部楼层
浮点数运算有误差
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-8-21 14:09:45 | 显示全部楼层

谢谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 00:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表