# Paste the text you want to encipher (or decipher)
original = input("Original text: W fowgsr am roiuvhsf wb hvs Oasfwqob")
# Declare (or guess) the offset. Positive or negative ints allowed
offset = int(input("Offset: 12"))
ciphered = ''
for c in original:
c_ascii = ord(c)
if c.isupper():
c = chr((ord(c) + offset - ord('A')) % 26 + ord('A'))
elif c.islower():
c = chr((ord(c) + offset - ord('a')) % 26 + ord('a'))
ciphered += c
# makes a new file, caesar.txt, in the same folder as this python script
with open("caesar.txt", 'w') as f:
f.write(ciphered)
“”
这是我们的老师为帮助我们解密Caeser Cyphers而编写的一些代码,但是由于某些原因,我仍然将我的输入作为输出,为什么不起作用?老师确认它奏效。
“”
“”
此示例句子的12个字符的偏移是“我在美国抚养了我的女儿”(我需要对字母大写敏感。)-该代码还将以相同的12偏移来删除更多句子
“”
最佳答案
我认为您运行不正确。您似乎试图将输入直接添加到代码中:
original = input("Original text: W fowgsr am roiuvhsf wb hvs Oasfwqob")
....
offset = int(input("Offset: 12"))
看看“输入”的帮助
有关内置模块内置功能输入的帮助:
输入(...)
输入([提示])->值
等效于eval(raw_input(prompt))。
因此input()的参数是提示,并且所有文本都不被当作输入,而是显示为提示...
尝试从命令行运行它,然后在提示符下键入您的输入。当我运行此命令时,这对我有用。
关于python - Python Caesar Cypher脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53559450/