小白参照@BT指数爆表抢救无效的第一题,写的第三题
Topic source优化了一下,把0.001用函数替换了~
from functools import reduce
def str2float(s):
#去掉.
def str(str):
S=''
for t in str:
if t=='.':
S=S+''
else:
S=S+t
return S
def char2num(a):
return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[a]
#获取圆点和它前面的字符串的总长度
def str1(str1):
n=0
for k in str1:
n=n+1
if k=='.':
break
return n
return reduce(lambda x, y: x * 10 + y,map(char2num,str(s)))/10**(len(s)-str1(s))
- 1
国风人已变