第三题实现:
def split_test(s): S=s.split('.') return int(S[0])+int(S[1])/10**len(S[1]) from functools import reduce def str2float(s): a=len(s)-s.find('.')-1 s=s.replace('.','') return reduce(lambda x,y:x*10+y,map(int,s))/10**a L='123.456' print(str2float(L)) 以上代码简单的拆分如下: def str2float_map(s): s=s.replace('.','') return map(int,s) def str2float_re(x,y): return x*10+y from functools import reduce L='123.456' a=len(L)-L.find('.')-1 print(reduce(str2float_re,str2float_map(L))/10**a) #注意这里必须把int()放在map里执行,否则无法把把参数传入reduce,因为reduce要的参数是一个iterator!!直接在str2float_map里int的话就把字符串变成了整形了。
第一题实现(自己折腾了一个多小时)
def Atoa(s): S=[] L=list(s) S.append(L[0].upper()) # print(S[0]) for n in L: S.append(n.lower()) S.pop(1) name="".join(S) #把list值连接起来,""中的内容表示用什么连接,我置为空。 return name names=['adam', 'LISA', 'barT'] uppername=map(Atoa,names) print(list(uppername))
Sign in to make a reply
Todayzhou
第三题实现:
第一题实现(自己折腾了一个多小时)