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

实现Caesarin Cipher时遇字符移位问题,代码无法正常运行求助

凯撒密码代码故障排查

你的需求是实现凯撒密码:接收字符串和移位量,将字符串中的字母按移位量循环移位(如移位1时a→b,z→a),生成加密字符串。以下是这类代码常见的问题点,你可以对照检查:

  • 未区分大小写处理:如果代码没有分开处理大写A-Z(ASCII 65-90)和小写a-z(ASCII 97-122),会导致大写字母移位后变成非字母字符,或者小写逻辑错误。正确做法是对两类字母分别计算移位。
  • 移位量未做取模处理:当移位量大于26或为负数时,直接使用会导致移位逻辑混乱。需要先对移位量做shift % 26处理,负数移位可转换为正数(如移位-1等价于25)。
  • 非字母字符未保留:若字符串包含空格、数字、符号等非字母字符,代码未判断直接移位会产生乱码,需仅对字母执行移位操作,其他字符原样保留。
  • ASCII码计算逻辑错误:比如直接用ord(c) + shift而没做循环处理,会导致z移位后超出字母范围。正确的小写字母计算应为:(ord(c) - ord('a') + shift) % 26 + ord('a'),大写字母替换为ord('A')即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 08:05:26