本文主要是介绍【牛客网 - 华为机试 - HJ7 取近似值】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
描述
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。
数据范围:保证输入的数字在 32 位浮点数范围内
输入描述:
输入一个正浮点数值
输出描述:
输出该数值的近似整数值
思路:
step1:首先将输入转换为浮点数
step2:用divmod()函数,将该浮点数的整数部分和小数部分分离(divmod()函数返回的结果相当于(a//b,a%b),在这里我们用两个参数(a,b)接受)
step3:将整数部分的数值转换为整型(举例:因为9//4的结果是2,而9.5//4的结果是2.0,因此我们需要再转换为整型)
step4:判断,如果小数部分>=0.5,输出a+1;否则,输出a
代码如下:
num = float(input())
a,b = divmod(num,1)
a = int(a)
if b >= 0.5:print(a+1)
else:print(a)
题解 | #取近似值#_牛客博客
这篇关于【牛客网 - 华为机试 - HJ7 取近似值】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!