digits = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9,'.':'.','-':'-'} from functools import reduce
def str2float(s): def fn(x,y):
return x*10+y def zb(m): return digits[m] def ab(L): L=map(zb,L) a=[] b=[] c='' flag=True for ss in L: if ss=='-': c='-' elif ss=='.': flag=False elif flag: a.append(ss) else: b.append(ss) return a,b,c l=ab(s) if(l[-1]): return -(reduce(fn,l[0])+reduce(fn,l[1])*pow(10,-len(str(reduce(fn,l[1]))))) else: return reduce(fn,l[0])+reduce(fn,l[1])*pow(10,-len(str(reduce(fn,l[1]))))
Sign in to make a reply
无虑43793
digits = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9,'.':'.','-':'-'} from functools import reduce
def str2float(s): def fn(x,y):