写一个函数,把多位数字拆分为数字列表
import math
def digitize(n):
str_n = str(n)
if '.' in str_n:
num_tuple = math.modf(n)
decimal_part = round(num_tuple[1])
integer_part = round(num_tuple[0],2)
return list(map(float, (decimal_part,integer_part)))
else:
return list(map(int, str_n))
digitize(123.45)
刚做的时候还在想小数应该怎么去掉小数点,后来发现math模块中有这个modf方法,可以直接把数拆成整数部分和小数部分,但是它返回的小数部分会丢失精度,所以需要用round再调整一下精度