华为机试HJ21简单密码

华为机试HJ21简单密码

题目:

现在有一种密码变换算法。九键手机键盘上的数字与字母的对应: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,把密码中出现的小写字母都变成九键键盘对应的数字,如:a 变成 2,x 变成 9.而密码中出现的大写字母则变成小写之后往后移一位,如:X ,先变成小写,再往后移一位,变成了 y ,例外:Z 往后移是 a 。数字和其它的符号都不做变换。数据范围: 输入的字符串长度满足 1≤n≤100

想法:

根据上述规则找到对应的变换并输出

复制代码
input_str = input()

l1 = ['a','b','c']
l2 = ['d','e','f']
l3 = ['g','h','i']
l4 = ['j','k','l']
l5 = ['m','n','o']
l6 = ['p','q','r','s']
l7 = ['t','u','v']
l8 = ['w','x','y','z']

result = ""

for i in input_str:
    if i in l1:
        result += "2"
    elif i in l2:
        result += "3"
    elif i in l3:
        result += "4"
    elif i in l4:
        result += "5"
    elif i in l5:
        result += "6"
    elif i in l6:
        result += "7"
    elif i in l7:
        result += "8"
    elif i in l8:
        result += "9"
    elif i < "Z" and i >= "A":
        result += chr(ord(i) + 32 + 1)
    elif i == "Z":
        result += "a"
    else:
        result += i

print(result)
相关推荐
码云骑士15 分钟前
18-生成器不只是省内存(上)-yield的状态机模型与帧暂停
c语言·开发语言·python
长空任鸟飞_阿康16 分钟前
RAG 文档摄入全链路,从原理到生产落地
vue.js·人工智能·python
程序猿零零漆19 分钟前
Python核心进阶三连:闭包装饰器、深浅拷贝、网络编程从原理到实战
网络·python
yongche_shi27 分钟前
ragas官方文档中文版(十六)
python·ai·智能体·ragas·使用工具
三块可乐两块冰31 分钟前
rag学习5
linux·前端·python
DXM052135 分钟前
第11期| 遥感图像分类模型:ResNet_DenseNet原理+实战训练
人工智能·python·深度学习·机器学习·分类·数据挖掘·ageo
SilentSamsara38 分钟前
模型部署实战:FastAPI + ONNX + Docker 的推理服务化
人工智能·pytorch·python·深度学习·机器学习·fastapi
聆风吟º41 分钟前
Python基础数据类型(一):数字类型
开发语言·python·float·int·bool·数字类型
Tisfy43 分钟前
LeetCode 3838.带权单词映射:求和、取模、拼接(附python一行版)
python·算法·leetcode·字符串·题解·模拟·取模
NaclarbCSDN1 小时前
我写了一个命令行书签管理器,然后抛弃了浏览器书签栏
linux·git·python·github