每日python练习9-简单密码

题目:
将一串明文,翻译为密文
规则:

  1. 明文中小写字母都变成对应的数字,abc–2, def–3, ghi–4, jkl–5, mno–6, pqrs–7, tuv–8 wxyz–9
  2. 密码中出现的大写字母则变成小写之后往后移一位,如:X,先变成小写,再往后移一位,不就是y了嘛,简单吧。记住,z往后移是a哦。
  3. 明文中其他字符不变
  4. 密码中没有空格

输入描述:
输入包括多个测试数据。输入是一个明文,密码长度不超过100个字符,输入直到文件结尾

输出描述:
输出渊子真正的密文

示例1

输入
YUANzhi1987

输出
zvbo9441987

代码1:

upperDict = {chr(x): chr(x+33) for x in range(65, 90)}
upperDict['Z'] = 'a'

lowerDict = {chr(x): str((x-97)//3+2) for x in range(97, 115)}
lowerDict['s'] = '7'
b = {chr(x): str((x-116)//3+8) for x in range(116, 122)}
lowerDict['z'] = '9'
lowerDict.update(b)

try:
    while True:
        line = input()
        password = []
        
        for i in line:
            if i.isupper():
                password.append(upperDict[i])
            elif i.islower():
                password.append(lowerDict[i])
            else:
                password.append(i)
        print(''.join(password))
        
except:
    pass

代码2:

while True:
    e=[]
    try:
        s = list(input())
        for i in s:
            if "A" <= i <= "Z":  #python语法糖
                t=chr((ord(i)+33))
                if t>'z':
                    t='a'
                e.append(t)
            elif "a" <= i <="c":
                 e.append('2')
            elif "d" <= i <="f":
                 e.append('3')
            elif "g" <= i <="i":
                 e.append('4')
            elif "j" <= i <="l":
                 e.append('5')
            elif "m" <= i <="o":
                 e.append('6')
            elif "p" <= i <="s":
                 e.append('7')
            elif "t" <= i <="v":
                 e.append('8')
            elif "w" <= i <="z":
                 e.append('9')
            else :
                 e.append(i)
        print("".join(e))
    except:
        break
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值