from functools import reduce def str2float(s): L = s.split('.') F = L[1] def fn1(x,y): return x*10 + y def fn2(x,y): return x/10 + y def char2num(s): return{'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,}[s] return reduce(fn1, map(char2num,L[0])) + 0.1*reduce(fn2,map(char2num,F[::-1])) print(str2float('12378.4569909'))在此插入代码
F[::-1]真是机智啊!
Sign in to make a reply
cherose_bj