是什么导致过多的重复字母?
what is causing the excess repeated letters?
它会尝试不同的移位并显示它们以供用户选择正确解密的单词,但我不明白是哪个部分在第一次显示后强制添加 'ABC',并且是移位 a有问题吗?
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 = ""
它会尝试不同的移位并显示它们以供用户选择正确解密的单词,但我不明白是哪个部分在第一次显示后强制添加 'ABC',并且是移位 a有问题吗?
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 = ""