题解 | #简单密码#

简单密码

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

ac_paw = input()
de_paw = []

def deal(n):
    n = str(n)
    if n==1:
        return 1
    elif n in 'abc':
        return 2
    elif  n in 'def':
        return 3
    elif  n in 'ghi':
        return 4
    elif  n in 'jkl':
        return 5
    elif  n in 'mno':
        return 6
    elif  n in 'pqrs':
        return 7
    elif  n in 'tuv':
        return 8
    elif  n in 'wxyz':
        return 9
    elif  n ==0:
        return 0

lis = '0123456789abcdefghijklmnopqrstuvwxyz'

for i in ac_paw:
    if i.islower() and i.isalpha():
        s = deal(i)
        de_paw.append(str(s))
    elif i.isupper() and i.isalpha():
        f = i.lower()
        s = lis.find(f)
        if s == len(lis) - 1: 
            de_paw.append('a')
        else:
            st = lis[s+1]
            de_paw.append(st)
    else:
        de_paw.append(i)

d = [str(x) for x in de_paw if isinstance(x, str)]
result = ''.join(d)
print(result)

花了俩小时,调来调去还是挺麻烦的,总结了一下几个要点

1.字母小写处理方法,一个函数加一个判断分支

2.字母大写处理方法,一个字符串加一个判断分支

3.一个列表推导式处理数据拼接问题。

全部评论
真·屎山
点赞 回复 分享
发布于 2023-10-28 22:10 广东

相关推荐

点赞 评论 收藏
分享
你背过凌晨4点的八股文么:简历挂了的话会是流程终止,像我一样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务