第三题研究了两天
Topic sources2字符串变化后是4.56少了一次计算,在s2后面加一个0就正确了,想法和我的一样
附改良代码
# -*- coding: utf-8 -*-
from functools import reduce
def str2float(s):
def f1(x,y):
return x*10+y
def f2(x,y):
return x/10+y
s1,s2=s.split('.')
s2=s2[::-1]
s2=s2+'0'
a1=reduce(f1,map(int,s1))
a2=reduce(f2,map(int,s2))
return a1+a2
print('str2float(\'123.456\') =', str2float('123.456'))
if abs(str2float('123.456') - 123.456) < 0.00001:
print('测试成功!')
else:
- 1
Alice_Biggee
def str2float:
def f1(x,y):
return x*10+y
def f2(x,y):
return x/10+y
s1,s2=s.split('.')
s2=s2[::-1]
a1=reduce(f1,map(int,s1))
a2=reduce(f2,map(int,s2))
return a1+a2