Mat*_*Cao -1 python integer roundup
我想要一个函数,如果它小于10,则将数字舍入为10,如果它在10到1000之间,则舍入为100,依此类推.
这将有助于数字连接问题,所以我不必将数字转换为str和back.
def roundup(n):
if n < 0: return 0
if n < 10: return 10
if n < 100: return 100
if n < 1000: return 1000
if n < 10000: return 10000
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一种自然的方法来做到这一点,而不只是将'if'放在一起
这更像是一个数学问题,而不是一个特定于python的问题,但你实际上是在记录一个数字的日志.
def round_base_10(x):
if x < 0:
return 0
elif x == 0:
return 10
return 10**math.ceil(math.log10(x))
Run Code Online (Sandbox Code Playgroud)