题解 | #取近似值#
取近似值
https://www.nowcoder.com/practice/3ab09737afb645cc82c35d56a5ce802a
- 两种想法:
- 一种用判断【‘.’】小数点后一位是什么情况,大于等于5,就打印【切片的整数位+1】,小于就打印【切片的整数位】
- 一种更简洁,用【任意数 % 1】的办法,
- 原理是,【整数 整除 1 】会得这个整数;【整数 取余 1】会得到这个整数,不会有余下的数。
- 若【小数 整除 1】,会得到这个整数;【小数 取余 1】会得到这个小数的小数部分
自己做的一种
n = input()
n = list(n)
for i in range(len(n)):
if n[i] == '.':
n2 = n[:i]
i = i + 1
if int(n[i]) >= 5:
print(int(''.join(n2))+1)
break
else:
print(int(''.join(n2)))
break
他人思路
a = float(input()) print(int(a) + 1 if a % 1 >= 0.5 else int(a))
查看19道真题和解析
