Discuss / Python / 继续复习,为了重新写好第三题花了会功夫,如果谁能有更简便的方法望告知,底下评论也都看了,感觉都好麻烦,包括我自己的

继续复习,为了重新写好第三题花了会功夫,如果谁能有更简便的方法望告知,底下评论也都看了,感觉都好麻烦,包括我自己的

Topic source

第一题

def normalize(name):
    return name.lower()

第二题

from functools import reduce
def prod(L):
    def we(x,y):
        return x*y
    return reduce(we,L)

第三题

from functools import reduce
def str2float(s):
    def f(x,y):
        return x*10+y
    def g(s):
        if s!='.':
            return {'1':1,'2':2,'3':3,'4':4,'5':5,'6':6}[s]
    l=list(map(g,s))
    B=len(l[(l.index(None)+1):])
    l.pop(l.index(None))
    return reduce(f,l) / 10**B

  • 1

Reply