Discuss / Python / 第三题

第三题

Topic source

from functools import reduce

def str2float(s): l = len(s) n = s.find('.') if n == -1: r = reduce(fn, map(char2num, s)) return r s1 =s[0:n] + s[n+1:] r = reduce(fn, map(char2num, s1)) r = r / 10*(l-(n+1)) return r

def fn(x,y): return x * 10 + y

def char2num(a): return digits[a] digits = {'0':0, '1':1, '2':2, '3':3, '4':4, '5':5, '6':6, '7':7, '8':8, '9':9}

r = r / 10(l-(n+1)) 这里的是2个


  • 1

Reply