Discuss / Python / 第三题

第三题

Topic source
from functools import reducedef str2float(s):    m=len(s) - s.find('.') - 1    s = s.replace('.', '')    DIGITS = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}    def char2num(s):        return DIGITS[s]    s1=reduce(lambda x, y: x * 10 + y, map(char2num, s))    return s1/(10**m)

  • 1

Reply