Discuss / Python / 作业

作业

Topic source

第一题(我是来搞笑的!!!):

#!/use/bin/env python3
# _*_ coding:utf-8 _*_
#规范名字
def normalize(name):
        def a_A(n):
                return A1[n]
        def A_a(m):
                return a1[m]
        A1 = {'a':'A','b':'B','c':'C','d':'D','e':'E','f':'F','g':'G','h':'H','i':'I','j':'J','k':'K','l':'L','m':'M','n':'N','o':'O','p':'P','q':'Q','r':'R','s':'S','t':'T','u':'U','v':'V','w':'W','x':'X','y':'Y','z':'Z'}
        a1 = {'A':'a','B':'b','C':'c','D':'d','E':'e','F':'f','G':'g','H':'h','I':'i','J':'j','K':'k','L':'l','M':'m','N':'n','O':'o','P':'p','Q':'q','R':'r','S':'s','T':'t','U':'u','V':'v','W':'w','X':'x','Y':'y','Z':'z'}
        L_A,L_a = [],[]
        for x in name[0]:
                if x in A1:
                        L_A.append(a_A(x))
                else:
                        L_A.append(x)
        for y in name[1:]:
                if y in a1:
                        L_a.append(A_a(y))
                else:
                        L_a.append(y)
        return L_A[0]+''.join(L_a)
L1 = ['adam', 'LISA', 'barT']
L2 = list(map(normalize, L1))
print(L2)

第二题:

#!/usr/bin/env python3
# _*_ coding:utf-8 _*_
#求列表的乘积
from functools import reduce
def prod(L):
        def S(x,y):
                return x*y
        return reduce(S,L)
print('3 * 5 * 7 * 9 = %d' %  prod([3, 5, 7, 9]))

第三题:


#!/usr/bin/env python3
# _*_ coding:utf-8 _*_

from functools import reduce
def str2float(s):
        L = s.split('.')
        def char2num(i):
                return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[i]
        def fn(x, y):
                return x * 10 + y
        return reduce(fn,map(char2num,''.join(L)))/(10**len(L[1]))
print('str2float(\'123.456\') =', str2float('123.456'))

  • 1

Reply