它会尝试不同的移位,并显示出来让用户选择正确的解密词,但我不明白是哪个部分在第一次显示后强制添加了'ABC',移位是否有问题?
number_letter = ''
shift = 1
word = 'ABC '
# input('Please enter a secret message to get decryption possibilities: ')
while shift < 20:
alphabet = word
for letter in alphabet:
number_letter += chr(ord(letter) + shift)
print('word: ' + number_letter)
print('Shift: ' + str(shift))
shift += 1
number_letter = word
你必须使 number_letter = ''
最后一行 number_letter = word
为了清除变量。
Teo已经基本回答了这个问题。下面是一些额外的信息和代码。在你的最后一行,你设置了变量 number_letter
到 word
然后,在下一次迭代中,你将新的字母(从 alphabet
)至 word
. 相反,你想完全清除这个变量。
下面是加入了输入的更新代码。
number_letter = ''
shift = 1
word = input(str('Please enter a secret message to get decryption possibilities: '))
while shift < 20:
alphabet = word
for letter in alphabet:
number_letter += chr(ord(letter) + shift)
print('word: ' + number_letter)
print('Shift: ' + str(shift))
shift += 1
number_letter = ""