def str2float(s):
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}
s = s.split('.')
def char2num(l):
return digits[l]
def fm(x,y):
return x 10 + y
def pow(m,n):
sum = 1
i = 0
while i < n:
sum = m sum
i = i + 1
return sum
return reduce(fm,map(char2num,s[0]))+reduce(fm,map(char2num,s[1]))/pow(10.0,len(s[1]))
Lyuynn
-- coding: utf-8 --
def str2float(s): 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} s = s.split('.') def char2num(l): return digits[l] def fm(x,y): return x 10 + y def pow(m,n): sum = 1 i = 0 while i < n: sum = m sum i = i + 1 return sum return reduce(fm,map(char2num,s[0]))+reduce(fm,map(char2num,s[1]))/pow(10.0,len(s[1]))