gpt4 book ai didi

python - python中旋转13密码错误

转载 作者:行者123 更新时间:2023-12-01 00:06:47 25 4
gpt4 key购买 nike

我正在做一些竞争性编程,偶然发现了一道 ROT13 问题,要求我将每个字母增加 13。

这是我的尝试

def rot13(message):
l2 = []
l1 = list(message)
for i in l1:
i = str(i)
for i in l1:
if ord('a') <= ord(i) <= ord('z'):
i = chr((ord(i) + 13) % 26 + ord('a'))
l2.append(i)
elif ord('A') <= ord(i) <= ord('Z'):
i = chr((ord(i) + 13) % 26 + ord('A'))
l2.append(i)
return l2

它返回错误的输出,例如

对于输入 - test ,它给出输出 - zkyz 而正确的是“grfg”

对于输入 - Test ,输出是 Tkyz,而它应该是 Grfg

我还没有加入这个列表,因为我第一次尝试得到正确的答案。

最佳答案

这是更正后的代码:

def rot13(message):
l2 = []
l1 = list(message)
for i in l1:
if ord('a') <= ord(i) <= ord('z'):
i = chr((ord(i) - ord('a') + 13) % 26 + ord('a')) # <== changed
l2.append(i)
elif ord('A') <= ord(i) <= ord('Z'):
i = chr((ord(i) - ord('A') + 13) % 26 + ord('A')) # <== changed
l2.append(i)
return l2

和测试运行:

>>> rot13('Test')
['G', 'r', 'f', 'g']

问题是ord('a')ord('A')需要从初始 ord() 调用中减去。你们非常接近。除了这个问题之外,一切都有效:-)

关于python - python中旋转13密码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59926720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com