【发布时间】:2020-12-11 03:47:45
【问题描述】:
for i in pass_tmp:
if i % 2 == 0:
t = ord(i)
t = t + rot7
rotated_7 = chr(t
decrypted += i.replace(i, rotated_7)
else:
t = ord(i)
t = t + rot9
rotated_9 = chr(t)
decrypted += i.replace(i, rotated_9)
return decrypted
我是 Python 的学习者,这是我在学习过程中做的一个练习。
运行代码时,我在引用代码中的“if i % 2 == 0:”行时收到以下错误消息“TypeError:并非所有参数都在字符串格式化期间转换”。
在我添加“if i % 2 == 0:”行并添加 else 代码块之前,它会正常工作。 我想要实现的是将代码分开以进行不同的解码取决于 pass_tmp 的索引是偶数还是奇数,“如果 i % 2 == 0”应该处理,它在我之前的所有其他练习中都有效以前用过,现在不用了。
【问题讨论】:
-
你的
pass_tmp是一个字符串吗? -
是的,它是一个字符串
-
你认为
'2'%2 打算做什么?字符串 %2 ?rotated_7 = chr(t中的结束 ) 在哪里? minimal reproducible example 在哪里?
标签: python-3.x