Python习题 拆数列表

写一个函数,把多位数字拆分为数字列表

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再调整一下精度

你可能感兴趣的:(Python习题 拆数列表)