from functools import reduce
def str2float(s):
def fn2(n):
sum = 1
for x in range(n):
sum = sum * 10
return sum
def fn1(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]
def splitStr(s):
high, low = s.split('.')
high = reduce(fn1, map(char2num, high))
low = reduce(fn1, map(char2num, low))/fn2(len(low))
return high + low
return splitStr(s)
print(str2float('12.123'))
复活节可是