wheel = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
wlen = len(wheel) - 1
c = input("Type a word: ").upper()
key = int(input("Key: "))
encrypted = ''
for x in c:
f = wheel.find(x) + key
if x == " ":
encrypted = encrypted + " "
if f > wlen:
f1 = f - wlen - 1
encrypted = encrypted + wheel[f1]
if f < wlen:
encrypted = encrypted + wheel[f]
print(encrypted)
此代码无法正常工作,我找不到原因。我需要帮助。
例如,“我很讨厌编码”给出了"M DWYGO DEX DGSHMRK"
空格之后的所有单词中都有这个额外的D。 “ M D WYGO D EX D GSHMRK”谢谢。
您需要使用elif
if x == " ":
encrypted = encrypted + " "
elif f > wlen:
f1 = f - wlen - 1
encrypted = encrypted + wheel[f1]
elif f < wlen:
encrypted = encrypted + wheel[f]
问题出在您的状况检查中,
for x in c:
f = wheel.find(x) + key
if x == " ":
encrypted = encrypted + " "
elif f > wlen:
f1 = f - wlen - 1
encrypted = encrypted + wheel[f1]
else:
encrypted = encrypted + wheel[f]