鱼C论坛

 找回密码
 立即注册
查看: 4110|回复: 8

[已解决]只用int实现四舍五入

[复制链接]
发表于 2020-9-5 22:57:21 | 显示全部楼层 |阅读模式

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

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

x
i = 0
sum = 0
while i <= 100000:
    if i % 2 == 0:
        sum = sum + i
    i = i + 1

print("100000以内的所有偶数的和是",sum)
不是说加0.5吗 这里为啥是加1
最佳答案
2020-9-6 00:18:50
感觉你的标题和你的内容不相干啊,你这个代码是求一个范围内的偶数的和,与int四舍无入没有一点关系啊
如果你要实现让int四舍五入
例如:
a = 1.3
b = 1.6
int(a+0.5)
int(b +0.5)
这里其实利用了int特性将小数部分裁掉,来达到四舍五入
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-5 23:09:23 | 显示全部楼层
不明白你在说什么。
什么加0.5
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-5 23:11:51 | 显示全部楼层
sunrise085 发表于 2020-9-5 23:09
不明白你在说什么。
什么加0.5

如果给 int() 函数传入一个浮点数参数,那么 int() 是简单暴力地将小数部分裁掉(比如 int(9.99) 的结果等于 9)……可是我们更习惯的是使用“四舍五入”的方式来取整。如果不借助其它函数,你能够单纯使用 int() 函数来实现吗4 Dgc~+
o@O<g )u2$4s5cp8rbPUC7]>}e_0I
答:只需要将 int() 函数的参数 +0.5 即可实现四舍五入。Y$@c}0K
wF~gP1Wo-3KG5&lEjZDdz*k^Rur7
解析:int() 函数固然没有那么“聪明”,但机器是死的,鱼油是活的!eGuql#{
:geo+!}As<d?~)vTHZfm'ryQ
四舍五入结果为 5,那么 int(5.4+0.5) 相当于 int(5.9) 结果为 5;
四舍五入结果为 6,那么 int(5.5+0.5) 相当于 int(6.0) 结果为 6。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-5 23:30:52 | 显示全部楼层
能被2整除的数( i % 2 的余数为 0 )可不就是偶数吗?哪里还有0.5?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-6 00:18:50 | 显示全部楼层    本楼为最佳答案   
感觉你的标题和你的内容不相干啊,你这个代码是求一个范围内的偶数的和,与int四舍无入没有一点关系啊
如果你要实现让int四舍五入
例如:
a = 1.3
b = 1.6
int(a+0.5)
int(b +0.5)
这里其实利用了int特性将小数部分裁掉,来达到四舍五入
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-6 07:56:56 | 显示全部楼层
能除2没有余数的,这里要求必须是个整数,咋还有小数呢?

那你要这么算的话,负数也算里面得了。算小数的话,那就无穷无尽了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-6 11:46:34 | 显示全部楼层
看懵了,看混题了 不好意思0.0 确实不是一道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-28 16:18:51 | 显示全部楼层
帅雷必成c王 发表于 2020-9-5 23:11
如果给 int() 函数传入一个浮点数参数,那么 int() 是简单暴力地将小数部分裁掉(比如 int(9.99) 的结果 ...

你这样的话还是舍掉小数点部分,并没有达到理想的四舍五入
比如你所说的
四舍五入结果为5,那么int(5.4+0.5),相当于int(5.9)结果为5,并没有达到四舍五入的效果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-26 16:59:33 | 显示全部楼层
帅雷必成c王 发表于 2020-9-5 23:11
如果给 int() 函数传入一个浮点数参数,那么 int() 是简单暴力地将小数部分裁掉(比如 int(9.99) 的结果 ...

能不能实现随机输入一个浮点数实现四舍五入呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-6 17:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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