# -*- coding: utf-8 -*-
from functools import reduce
def str2float(s):
Dig={'1':1, '2':2, '3':3, '4':4, '5':5, '6':6}
def char2int(ss):
return Dig[ss]
n=s.find('.')
def multiple(x, y):
return 10*x+y
qian=reduce(multiple, map(char2int, s[:n]))
hou=reduce(multiple, map(char2int, s[n+1:]))/10**len(s[n+1:])
return qian + hou
print('str2float(\'123.456\') =', str2float('123.456'))
if abs(str2float('123.456') - 123.456) < 0.00001:
print('测试成功!')
else:
print('测试失败!')
Sign in to make a reply
开飞机的P船长
# -*- coding: utf-8 -*-
from functools import reduce
def str2float(s):
Dig={'1':1, '2':2, '3':3, '4':4, '5':5, '6':6}
def char2int(ss):
return Dig[ss]
n=s.find('.')
def multiple(x, y):
return 10*x+y
qian=reduce(multiple, map(char2int, s[:n]))
hou=reduce(multiple, map(char2int, s[n+1:]))/10**len(s[n+1:])
return qian + hou
print('str2float(\'123.456\') =', str2float('123.456'))
if abs(str2float('123.456') - 123.456) < 0.00001:
print('测试成功!')
else:
print('测试失败!')