Discuss / Python / 第三题,供参考

第三题,供参考

Topic source

def str2float(s): def char2num(s): DIGITS = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, '.': '.'} return DIGITS[s] def fn(x, y): return x 10 + y def fm(x, y): return x 0.1 + y r1 = [] r2 = [] n = 0 m = -1 r = list(map(char2num, s)) while n < 3: r1.append(r[n]) n = n + 1 while m > -4: r2.append(r[m]) m = m - 1 return reduce(fn, r1) + reduce(fm, r2)/10


  • 1

Reply