华为机试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)
相关推荐
U盘失踪了1 分钟前
学习记录:requests Django登录测试脚本(解决CSRF、重定向问题)
笔记·python·学习·django·csrf
IMPYLH6 分钟前
Linux 的 stty 命令
linux·运维·服务器·python·bash
hnxaoli6 分钟前
win10小程序(十九)鼠标位置记录
python·小程序
步辞6 分钟前
React 自定义 Hook 的命名规范与执行上下文详解
jvm·数据库·python
forEverPlume7 分钟前
如何为 Go 中的 sync.WaitGroup.Wait() 添加超时机制
jvm·数据库·python
UnicornDev7 分钟前
【HarmonyOS 6】设置页面 UI 设计
ui·华为·harmonyos·arkts·鸿蒙
踏歌~8 分钟前
Qlib上手指南
python·qlib
财经资讯数据_灵砚智能9 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年4月26日
大数据·人工智能·python·信息可视化·自然语言处理
2401_8836002510 分钟前
mysql如何设置仅允许特定内网访问_MySQL权限配置中的IP绑定
jvm·数据库·python
love530love11 分钟前
FaceLift 单图 3D 人脸重建项目 Windows 11 完整部署指南
人工智能·windows·python·3d·facelift