看了前面大神寫的文章和代碼,不知道自己在重要地方理解對不對,希望有大神給指點一下。
from functools import reducedef str2float(num):
def pro(x,y):
return 10*x+y
n=num.index('.')
#取小數點所在的位置
str1=list(map(int,[x for x in num[:n]]))
#x for x in num[:n]將num映射成list,將num中小數點前的數字映射出來
str2=list(map(int,[x for x in num[n+1:]]))
#x for x in num[n+1:]將num映射成list,將num中小數點後的數字映射出來
return reduce(pro,str1)+reduce(pro,str2)/(10**len(str2))
print('\'123.4567\'=',str2float('123.4567'))