牛客网HJ7 取近似值Python3解法

 刚开始的解法:

n = float(input())
# 将n乘以10,再对10取余,看余数是小于5则直接用int(),否则+1
if int(10 * n) % 10 < 5:
    n = int(n)
else:
    n = int(n)+1
print(n)

看了下排行榜前几的方法,直接对n+0.5,再取整;

想了下,如果n小数部分小于5,比如4.4,那么加0.5之后不会大于5,取整是4,

如果n小数部分大于等于5,比如4.5,那么加0.5之后大于等于5,取整是5。

n = float(input())
print(int(n+0.5))

涉及到的相关方法:

math.ceil(n)方法:对n进行向上取整,如math.ceil(3.25)返回浮点数4.0;

int(n)方法:对n向下取整,如int(3.25)返回整型3;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值