题解 | #简单密码#
简单密码
https://www.nowcoder.com/practice/7960b5038a2142a18e27e4c733855dac
# 解题思路: # 迭代字符串,如果遇到小写字母转换成数字,大写字母转换成小写字母,然后后移一位,其它情况不变 # 使用字典来保存映射规则 # 使用 ord 和 chr 函数计算下一个字母。 chars = input() # 将字母映射出数字,这里使用字典来保存映射规则 char_map = { "a": "2", "b": "2", "c": "2", "d": "3", "e": "3", "f": "3", "g": "4", "h": "4", "i": "4", "j": "5", "k": "5", "l": "5", "m": "6", "n": "6", "o": "6", "p": "7", "q": "7", "r": "7", "s": "7", "t": "8", "u": "8", "v": "8", "w": "9", "x": "9", "y": "9", "z": "9", } result = '' for char in chars: # 小写字母 if char.islower(): digit = char_map.get(char) if digit: result += digit # 大写字母 elif char.isupper(): char_lower = char.lower() if char_lower == 'z': char = 'a' else: char = chr(ord(char_lower) +1) result += char # 其他 else: result +=char print(result)