def normalize(name): name=name[:1].upper()+ name[1:].lower() return name
def prod(L): return reduce(lambda x, y: x*y, L)
第三题抄大佬的,但是思路是一样的,就是不知道小数点怎么处理,原来是用index()来处理,学习了from functools import reduce
digits={'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, '.':'.'}
def str2float(string): def char2int(c): return digits[c] dot = string.index('.') part1 = string[:dot] part2 = string[dot+1:] d1 = reduce(lambda x,y: x10 + y, map(char2int, part1)) d2 = reduce(lambda x,y: x10 + y, map(char2int, part2)) / (10**(len(string)-1-dot)) return d1+d2
Sign in to make a reply
水乡泽国的魅魂
def normalize(name): name=name[:1].upper()+ name[1:].lower() return name
def prod(L): return reduce(lambda x, y: x*y, L)
第三题抄大佬的,但是思路是一样的,就是不知道小数点怎么处理,原来是用index()来处理,学习了
from functools import reduce
digits={'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, '.':'.'}
def str2float(string): def char2int(c): return digits[c] dot = string.index('.') part1 = string[:dot] part2 = string[dot+1:] d1 = reduce(lambda x,y: x10 + y, map(char2int, part1)) d2 = reduce(lambda x,y: x10 + y, map(char2int, part2)) / (10**(len(string)-1-dot)) return d1+d2