题解 | #简单密码#

简单密码

http://www.nowcoder.com/practice/7960b5038a2142a18e27e4c733855dac

surface_password = []
while True:
    try:
        a = input()
        surface_password.append(a) #输入的是明面上的密码
    except:
        break
for password in surface_password:
    len_password = len(password)
    b = []
    for i in range(len_password):#输入密码的每个字符进行遍历
        b.append(password[i])
    for i in range(len_password):
        if(b[i].islower()):#小写则根据题目要求变换为数字
            if(b[i] in 'abc'):
                b[i] = '2'
            elif(b[i] in 'def'):
                b[i] = '3'
            elif(b[i] in 'ghi'):
                b[i] = '4'
            elif(b[i] in 'jkl'):
                b[i] = '5'
            elif(b[i] in 'mno'):
                b[i] = '6'
            elif(b[i] in 'pqrs'):
                b[i] = '7'
            elif(b[i] in 'tuv'):
                b[i] = '8'
            else:
                b[i] = '9'
        elif(b[i].isupper()):#大写则化为对应小写后面的
            if(b[i] == 'Z'):
                b[i] = 'a'
            else:
                c = ord(b[i].lower())#先转化为对应的小写字母,ord()转为对应字母的ascll码
                b[i] = chr(c + 1)#对应小写的ASCLL+1通过chr()函数变为对应字母
        else:
            b[i] = b[i]#数字就是本身
    print(''.join(b))#将分解成列表的密码字符串经历变换后再通过''.join()拼接
华为机试题解(prod.by kedao) 文章被收录于专栏

华为实习机试题解

全部评论

相关推荐

07-11 15:12
门头沟学院 Java
别人在上班,我就在工位上看看视频啥的,这正常吗?
程序员小白条:实习就是摸鱼,只是公司指标,把你进来了,可能那时候客户很多,但等你进来的时候,已经是淡季了,根本没多少需求,或者说根本不适合实习生去完成,因此你就每天干坐着就行,可能1,2个月都没需求
实习生的蛐蛐区
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 11:20
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务