Lazy loaded image
Task 8 - A French Twist
Words 401Read Time 2 min
2025-3-31

题目分析

notion image
你的任务是解密一个使用Vigenère 密码加密的字符串。
  1. 程序启动时,打印 "DECRYPT STRING"
  1. 要求用户输入 加密字符串
      • 如果输入为空,打印 "Empty encrypted string.",并结束程序。
  1. 要求用户输入 Vigenère 密钥
      • 如果输入为空,打印 "Invalid vigenère key.",并结束程序。
  1. 使用 Vigenère 密码 解密
      • 每个字符使用密钥对应字符的位移值进行解密。
      • 忽略空格,但保留原有空格位置。

解题逻辑

  1. 程序启动
      • 打印 "DECRYPT STRING" 作为程序启动提示。
  1. 获取用户输入
      • 输入加密字符串
        • 如果输入为空 (""),打印 "Empty encrypted string."并退出。
      • 输入 Vigenère 密钥
        • 必须是非空字符串。
        • 如果超出范围,打印 "Invalid vigenère key."并退出。
  1. 解密逻辑
    1. 使用Python For 循环来遍历加密字符串中的字母。 可以使用同 中处理空白字符串的方来替换掉空格。
      • 使用 Vigenère 密码解密
        • 每个字符使用 密钥对应字符的位移值 进行解密。
        • 忽略空格,但保持原有空格位置。

💡
这一题当中需要注意的是被加密文件的index 与密钥index中的对应。空格位的替换需要在for 循环之前,否则index将被错位。但是 问题不大,秒了。