Skip to content

字符串加密

难度:⭐

1. 题目描述

题目描述

  • 输入一个字符串,对其简单加密(后移 2 位)后输出
  • 后移两位:如果是字母,a->c;如果是数字,1->3;其它不变

2. 关键点

  • 序列索引

3. 代码实现

点击显示代码
python
digits = '1234567890' * 2
ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz' * 2
ascii_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' * 2

text = input('请输入字符串:')
new_text = ''
for c in text:
    if c in digits:
        new_c = digits[digits.index(c) + 2]
    elif c in ascii_lowercase:
        new_c = ascii_lowercase[ascii_lowercase.index(c) + 2]
    elif c in ascii_uppercase:
        new_c = ascii_uppercase[ascii_uppercase.index(c) + 2]
    else:
        new_c = c
    new_text += new_c

print(f'加密后的字符串为:{new_text}')

4. 运行示例

txt
请输入字符串:python-abc.xyz 9988
加密后的字符串为:ravjqp-cde.zab 1100

5. 进阶思考

  1. 增加加密复杂性,比如奇数位后移 1 位,偶数位后移 2 位
  2. 实现相对应的解密代码