利用map和reduce编写一个str2float函数,把字符串\’123.456\’转换成浮点数123.456
from functools import reduce
def str2float(s):
return reduce(lambda x,y:x+int2dec(y),map(str2int,s.split(\'.\')))
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 str2int(s):
return reduce(lambda x,y:x*10+y,map(char2num,s))
def intLen(i):
return len(\'%d\'%i)
def int2dec(i):
return i/(10**intLen(i))
print(str2float(\'123.456\'))
以上就是本代码的全部内容了,希望对大家学习Python能够有所帮助。