#利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456: #-*- coding:utf-8 -*- from functools import reduce 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 f1(a,b): return a*10+b def str2float(s): L=[] d=s.find('.') if d!=-1: for i in s: if i!='.': L.append(i) j=reduce(f1,map(char2num,L)) j=j*1.0/(10**(len(s)-d-1)) else: j=reduce(f1,map(char2num,s)) return j print('str2float(\'123.456789\') =', str2float('123.456789'))
Sign in to make a reply
小气吧唧的小峰峰