###练习3
from functools import reduce DIGITS1={'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'.':'.'} DIGITS2={'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 DIGITS1[s] def str2numint(s): return DIGITS2[s] def num2floatint(x,y): return x*10+y if '.' in s: a=list(map(str2num,s)) p=a.index('.') inta=a[0:p] n=len(a) floata=a[p+1:n+1] nf=len(floata) return reduce(num2floatint,inta)+reduce(num2floatint,floata)*10**(-nf) else: a=list(map(str2numint,s)) return reduce(num2floatint,a)
Sign in to make a reply
乾乾謙謙居正
###练习3