交作业(纯新手,笨办法)
Topic sourcedef str2float(s):
def char2num(s):
return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]
def str2int(s):
return reduce(lambda x, y: x * 10 + y, map(char2num, s))
num1 = str2int(s.split('.')[0])
num2 = str2int(s.split('.')[-1])*10**(-len(s.split('.')[-1]))
return num1+num2
和你的想法一致,细节有点不同
- 1
Myron_W
from functools import reduce
def str2float(s):
print('str2float(\'123.456\') =', str2float('123.456'))