是什么导致过多的重复字母?

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 = ""