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

Python凯撒密码caesar5.py如何将逐行输出改为列表输出

代码修改方案

修改思路

你原代码的问题有两处:

  • 打印逻辑放在了字符遍历的内层循环中,会导致每拼接一个字符就输出一次
  • 没有专门的容器存储所有移位结果,最终无法整合成列表输出

修改后的代码(适配Python2,与你原代码运行环境一致)

alpha =  "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

str_in = raw_input("Enter ciphertext: ")
result_list = [] # 存储所有移位结果的空列表

for shift in range(26):
    n = len(str_in)
    str_out = ""
    for i in range(n):
        c = str_in[i]
        loc = alpha.find(c)
        newloc = (loc + shift) % 26
        str_out += alpha[newloc]
    result_list.append(str_out) # 每个移位的完整结果追加到列表

print(result_list)

适配Python3的版本调整

如果你使用的是Python3环境,只需将上述代码中raw_input改为input即可。

效果说明

运行修改后的代码,输入密文后会直接输出格式为[结果1, 结果2, ..., 结果26]的列表,符合你的需求。


内容的提问来源于stack exchange,提问作者Newbie21

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 00:45:04