Discuss / Python / 优化了一下,之前写的太繁琐

优化了一下,之前写的太繁琐

Topic source

###练习3——优化 from functools import reduce DIGITS={'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9} def str2float(s): def str2num(s): return DIGITS[s] def num2floatint(x,y): return x10+y if '.' in s: n=len(s) p=s.index('.') ints=list(map(str2num,s[0:p])) floats=list(map(str2num,s[p+1:n+1])) nf=len(floats) return reduce(num2floatint,ints)+reduce(num2floatint,floats)10**(-nf) else: a=list(map(str2num,s)) return reduce(num2floatint,a)


  • 1

Reply