Discuss / Python / [交作业]大小写转换 。

[交作业]大小写转换 。

Topic source

与非----

#1 Created at ... [Delete] [Delete and Lock User]

由于课程中只提到过大写转小写的函数,没有提到小写转大写的函数。所以我自己创建了一个函数用来转换大小写。

from functools import reduce

#--------------创建大小写转换字典开始
A = [chr(x) for x in range(65,91)]        #创建A到Z的编码并用chr转换成字符串
a = [chr(y) for y in range(97,123)]       #创建a到z的编码并用chr转换成字符串
d = {}
D = {} 
n = 0
while n < 26 :
    d[A[n]] = a[n]              #大写转小写字典
    D[a[n]] = A[n]              #小写转大写字典
    n = n + 1
#--------------创建大小写转换字典结束

def normalize(name):
    def mylower(name):         #大写转小写
        if name in d:
            return d[name]
        return name    
    def myupper(name):         #小写转大写
        if name in D:
            return D[name]
        return name  
    def myxy(x,y):
        return x+y
    return myupper(name[0]) + reduce(myxy,map(mylower,name[1:]))   #第一个字母转大写,其余的转小写。

L1 = ['adam', 'LISA', 'barT']
L2 = list(map(normalize, L1))
print(L2)

  • 1

Reply