题解 | #实现四舍五入#
实现四舍五入
http://www.nowcoder.com/practice/020a0cf673174d5795d97ae79cff59a0
不想写了,还是抄抄别人的代码吧
1.取余函数 divmod()
num = float(input())
a,b = divmod(num,1)
if b >= 0.5:
print(format(a+1,'.0f'))
else:
print(format(a,'.0f'))
Python
divmod() 函数接收两个数字类型(非复数)参数,返回一个包含商和余数的元组(a // b, a % b)。在 python 3.x 版本该函数不支持复数。
函数语法 divmod(a, b) 参数说明:
a: 数字,非复数。
b: 数字,非复数。
如果参数 a 与 参数 b 都是整数,函数返回的结果相当于 (a // b, a % b)。
如果其中一个参数为浮点数时,函数返回的结果相当于 (q, a % b),q 通常是 math.floor(a / b),但也有可能是 1 ,比小,不过 q * b + a % b 的值会非常接近 a。
如果 a % b 的求余结果不为 0 ,则余数的正负符号跟参数 b 是一样的,若 b 是正数,余数为正数,若 b 为负数,余数也为负数,并且 0 <= abs(a % b) < abs(b)。
>>> divmod(7, 2)
(3, 1)
>>> divmod(8, 2)
(4, 0)
>>> divmod(8, -2)
(-4, 0)
>>> divmod(3, 1.3)
(2.0, 0.3999999999999999)
2. 四舍五入函数round()
a = float(input())
print(int(round(a+0.00001,0)))
描述 round() 方法返回浮点数x的四舍五入值。
语法 以下是 round() 方法的语法:
round( x [, n] ) 参数
x -- 数值表达式。
n -- 数值表达式,表示从小数点位数。
返回值
返回浮点数x的四舍五入值。
实例
以下展示了使用 round() 方法的实例:
#!/usr/bin/python
print "round(80.23456, 2) : ", round(80.23456, 2)
print "round(100.000056, 3) : ", round(100.000056, 3)
print "round(-100.000056, 3) : ", round(-100.000056, 3)
以上实例运行后输出结果为:
round(80.23456, 2) : 80.23
round(100.000056, 3) : 100.0
round(-100.000056, 3) : -100.0
感觉这个才是正统啊!
3. floor()函数
import math
a = float(input())
print(math.floor(a + 0.5))
描述 floor() 返回数字的下舍整数。
语法 以下是 floor() 方法的语法:
import math
math.floor( x ) 注意:floor()是不能直接访问的,需要导入 math 模块,通过静态对象调用该方法。
参数 x -- 数值表达式。 返回值 返回数字的下舍整数。 实例 以下展示了使用 floor() 方法的实例:
#!/usr/bin/python
import math # This will import math module
print "math.floor(-45.17) : ", math.floor(-45.17)
print "math.floor(100.12) : ", math.floor(100.12)
print "math.floor(100.72) : ", math.floor(100.72)
print "math.floor(119L) : ", math.floor(119L)
print "math.floor(math.pi) : ", math.floor(math.pi)
以上实例运行后输出结果为:
math.floor(-45.17) : -46.0
math.floor(100.12) : 100.0
math.floor(100.72) : 100.0
math.floor(119L) : 119.0
math.floor(math.pi) : 3.0
简单的对我个人从事的行业进行一个测试评价,也算是个人成长之路的分享咯