python - 像 python 脚本这样的谜不会返回任何东西
问题描述
我正在尝试以与 enigma 机器类似的方式制作加密器,但我没有尝试,变量“final_message”除了空格不会打印任何内容
message = input("Please input a message. ").upper()
final_message = ""
shift = 0
rotor1 = ['D','M','T','W','S','I','L','R','U','Y','O',
'N','K','F','E','J','C','A','Z','B','P','G','X','O','H','V']
for i in range(len(message)):
if ord(message[i]) == 32:
final_message += "n"
else:
num = ord(message[i]) - 65 + shift
if num > 25:
num -= 26
final_message += rotor1[num]
shift+=1
print(final_message)
我对编码很陌生,所以我想知道是否有人能发现我的错误。我没有收到任何错误,我的代码刚刚完成而没有打印任何字母
解决方案
似乎 的缩进final_message += rotor1[num]
应该与 的缩进处于同一水平if num > 25
。像这样 -
if num > 25:
num -= 26
final_message += rotor1[num]
推荐阅读
- java - 克隆列表地图的有效方法?
- delphi - 为什么这些 TShape 看起来如此不同?
- python - 裁剪 n 维数组的最后 2 维
- javascript - 两个子组件使用 vue.js 将数据传递给同一个父组件
- python - Dearpygui 状态框未正确更新
- android - 如何检测我的设备左/右音频平衡?
- javascript - 我在 Mongoose 中的 $push 方法不起作用
- min - 如何在一对数字中找到最接近零的数字?
- python - 如何检查列表中的项目是什么字符?
- amazon-web-services - 如何确保我的 lambda 在每分钟开始时运行