You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python实现Enigma机时转子输出结果与在线模拟器不符的问题求助

Python实现Enigma机时转子输出结果与在线模拟器不符的问题求助

我正在为课程作业用Python实现Enigma机,现在遇到了一个问题:某个测试用例的输出和预期结果对不上。

为了深入排查,我用在线的Enigma模拟器复现了输入和设置,模拟器能给出预期输出,但每一步的转子输出结果让我有点困惑,尤其是转子III的部分。

先说说测试用例的要求:

当使用转子I、II、III,反射器B,环设置01 01 01,初始位置Q、E、V时,输入A应该输出L。

下面是我的理解,要是有不对的地方麻烦大家指正:

  • 转子III是最右侧的转子,会最先执行加密流程
  • 转子III的初始位置是V,这同时也是它的缺口位置。因为环设置是01,所以对位置没什么影响
  • 剩下的转子II和I的初始位置也都在缺口点上,所以输入第一个字符的时候,三个转子都会转动
  • 转子III的初始位置是V(对应位置21),按输入键后应该会递增到位置1。根据转子III的映射表BDFHJLCPRTXVZNYEIWGAKMUSQO,这个位置对应的应该是U,但在线模拟器输出的却是Y

要是能解决这个差异,我应该就能搞定其他问题了。

(注:使用那个Enigma模拟器时需要启用加密脚本,然后配置转子为I、II、III,初始位置Q E V,反射器B)

按下A键后,模拟器里转子III的输出是Y,就像这张截图里显示的:
Enigma Rotor III输出字母"A"的结果

备注:内容来源于stack exchange,提问作者Kamran Asim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 15:39:36