- 小T的密码转换规则
问题描述
小T设计了一套密码变换规则,将输入的字符串转换成一串数字密码。变换规则如下:
- 小写字母按以下映射关系进行转换:
a, b, c->2d, e, f->3g, h, i->4j, k, l->5m, n, o->6p, q, r, s->7t, u, v->8w, x, y, z->9
- 大写字母先转为小写字母,再跳到字母表中的前一个字母,并按上述规则转换为对应的数字。例如,
B转换为a,再转换为2;A特殊处理,先变为Z,再转换为9。 - 非字母字符保持不变。
例如:对于输入字符串 "LIming0701",转换后的数字密码为 5464640701。
测试样例
样例1:
输入:
s = "LIming0701"
输出:'5464640701'
样例2:
输入:
s = "PassW0rd"
输出:'62778073'
样例3:
输入:
s = "helloWORLD123"
输出:'4355686752123'
分析题目
根据问题描述和测试样例可以发现:
1.需要将对应的字母转换成数字。
2.需要对大写的字母小写化并且减一即可完成任务。
3.如果是A的话需要特殊处理转化为z
解析步骤
1.建立字典使其字母和密码与之对应转换。
2.大写字母转化为ASCII编码减一操作再跳转1中字典即可。
3.创建空字符串接受转化的密码值。
4.通过遍历每一个字符串进行一一对应,嵌套两层if语句使其判断是否为大小写,是否需要转化ASCII编码,是否为A值。
5.最终将所遍历的结果加到先前创立的空字符串(3)中,即可获取答案.
最终代码
代码解释
首先创立字典进行键值对转化密码
初始化结果字符串
遍历循环输入的字符串的每个字符
通过if判断是否为小写字母如果是小写直接通过字典进行转换密码,如果并非小写,再次if判断是否为A进行转换为z再通过字典进行转化,如果是其他大写字母就转化为ASCII减一进行操作 最终赋值给初始化字符串
结果体现
运用到的知识点
1.创建字典
2.遍历字符串
3.通过python内置语法判断是否为大小写字母
4.通过转化为ASCII码进行跳转前一个字母