帅雷必成c王 发表于 2020-9-5 22:57:21

只用int实现四舍五入

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

print("100000以内的所有偶数的和是",sum)
不是说加0.5吗 这里为啥是加1

sunrise085 发表于 2020-9-5 23:09:23

不明白你在说什么。
什么加0.5

帅雷必成c王 发表于 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。

风过无痕1989 发表于 2020-9-5 23:30:52

能被2整除的数( i % 2 的余数为 0 )可不就是偶数吗?哪里还有0.5?

qin_yin 发表于 2020-9-6 00:18:50

感觉你的标题和你的内容不相干啊,你这个代码是求一个范围内的偶数的和,与int四舍无入没有一点关系啊
如果你要实现让int四舍五入
例如:
a = 1.3
b = 1.6
int(a+0.5)
int(b +0.5)
这里其实利用了int特性将小数部分裁掉,来达到四舍五入

heidern0612 发表于 2020-9-6 07:56:56

能除2没有余数的,这里要求必须是个整数,咋还有小数呢?

那你要这么算的话,负数也算里面得了。算小数的话,那就无穷无尽了。

帅雷必成c王 发表于 2020-9-6 11:46:34

看懵了,看混题了 不好意思0.0 确实不是一道

renjiabing 发表于 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,并没有达到四舍五入的效果

勇敢文文 发表于 2021-9-26 16:59:33

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

能不能实现随机输入一个浮点数实现四舍五入呢?
页: [1]
查看完整版本: 只用int实现四舍五入