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

Python凯撒密码开发:字典值偏移加法报错问题求助

解决凯撒密码字典值加偏移量的类型错误问题

你遇到的TypeError是因为直接把整个字典和整数做加法运算,Python不支持这种操作。要给字典里的每个值加上偏移量,得遍历字典的每一组键值对,单独对每个值进行运算。

方法1:用字典推导式(简洁高效)

先创建你的原字母映射字典,再通过推导式生成偏移后的新字典:

# 生成a-z对应0-25的原字典
char_map = {chr(ord('a') + i): i for i in range(26)}
# 获取用户输入的偏移量
offset = int(input("请输入偏移量: "))
# 生成偏移后的新字典
shifted_char_map = {char: value + offset for char, value in char_map.items()}

方法2:用循环逐个处理(直观易理解)

如果刚接触字典操作,用for循环逐个修改更清晰:

char_map = {chr(ord('a') + i): i for i in range(26)}
offset = int(input("请输入偏移量: "))
shifted_char_map = {}
# 遍历原字典的每个键值对
for char, value in char_map.items():
    shifted_char_map[char] = value + offset

等你解决类型错误后,处理值超过25的循环逻辑可以用取模运算(value + offset) % 26,这样超过25的数值会自动回到0-25的范围里。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 05:45:30