Discuss / Python / 第三题,笨方法,抛砖引玉嘿嘿

第三题,笨方法,抛砖引玉嘿嘿

Topic source

-- coding: utf-8 --

from functools import reduce def a_int(x): return{'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}[x] def b_int(x,y): return 10x+y def str2float(s): a=0 for x in s: if x=='.': break else: a=a+1 d=a+1#小数点的位置 p = len(s) - d# 小数的个数 s = s[:a] + s[d:]#去除小数点 return reduce(b_int,map(a_int,s))/(10**p) print('str2float(\'123.456\') =', str2float('123.456'))


  • 1

Reply