打卡
Topic source# -*- coding: utf-8 -*-from functools import reducedef str2float(s): digits = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9} def char2num(s): return digits[s] return reduce(lambda x, y: x * 10 + y, map(char2num, s[:s.find(".")])) + \ reduce(lambda x, y: x * 0.1 + y, map(char2num, s[:s.find("."):-1])) * 0.1print('str2float(\'123.456\') =', str2float('123.456'))if abs(str2float('123.456') - 123.456) < 0.00001: print('测试成功!')else: print('测试失败!')
测试一下代码怎么样不会塌
from functools import reducedef str2float(s): digits = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9} def char2num(s): return digits[s] return reduce(lambda x, y: x * 10 + y, map(char2num, s[:s.find(".")])) + \ reduce(lambda x, y: x * 0.1 + y, map(char2num, s[:s.find("."):-1])) * 0.1
继续测
digits = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
def char2num(s):
return digits[s]
return reduce(lambda x, y: x * 10 + y, map(char2num, s[:s.find(".")])) + \
reduce(lambda x, y: x * 0.1 + y, map(char2num, s[:s.find("."):-1])) * 0.1print('str2float(\'123.456\') =', str2float('123.456'))
- 1
广州机电16机器人高职一班
第一题
第二题
第三题