python如何让大于1.1小于2的数等于2

python如何让大于1.1小于2的数等于2
python如何让大于2.1小于3的数等于3
以此类推,有没有内置函数啊?
zhongly1979 1年前 已收到1个回答 举报

小颜jiejie 幼苗

共回答了17个问题采纳率:94.1% 举报

math.ceil(1.2) 得到的是 2.0,仍然是小数,需要再用int函数转换为整数.
即 int(math.ceil(1.2)) 得到的才是2.

根据你的例子,下面自定义了一个函数convert,仅支持正数.
import math
def convert(num):
"""Convert a positive decimal to an integer if its fractional part is greater than 0.1."""
if round(num - math.floor(num), 1) > 0.1:
return int(math.ceil(num))
else:
return num

a, b, c = 2.0, 2.1, 2.2
print convert(a)
print convert(b)
print convert(c)

本例中所示,convert函数对于入参为2.0 或 2.1,返回其本身,不做转换;入参为2.2,则返回正整数3.

1年前

7
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.015 s. - webmaster@yulucn.com