题目分析

你的任务是解密一个使用Vigenère 密码加密的字符串。
- 程序启动时,打印
"DECRYPT STRING"
。
- 要求用户输入 加密字符串:
- 如果输入为空,打印
"Empty encrypted string."
,并结束程序。
- 要求用户输入 Vigenère 密钥:
- 如果输入为空,打印
"Invalid vigenère key."
,并结束程序。
- 使用 Vigenère 密码 解密:
- 每个字符使用密钥对应字符的位移值进行解密。
- 忽略空格,但保留原有空格位置。
解题逻辑
- 程序启动
- 打印
"DECRYPT STRING"
作为程序启动提示。
- 获取用户输入
- 输入加密字符串:
- 如果输入为空 (
""
),打印"Empty encrypted string."
并退出。 - 输入 Vigenère 密钥:
- 必须是非空字符串。
- 如果超出范围,打印
"Invalid vigenère key."
并退出。
- 解密逻辑
- 使用 Vigenère 密码解密:
- 每个字符使用 密钥对应字符的位移值 进行解密。
- 忽略空格,但保持原有空格位置。
使用PythonFor
循环来遍历加密字符串中的字母。 可以使用同 中处理空白字符串的方来替换掉空格。
这一题当中需要注意的是被加密文件的index 与密钥index中的对应。空格位的替换需要在for 循环之前,否则index将被错位。但是 问题不大,秒了。