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。”MDWYGODEXDGSHMRK”
谢谢你
你需要使用
elif
原因:
当您有一个空格时,
find
返回-1,因此添加键您得到了3
,因此您输入第一个if
,因为它是一个空格,但是如果在最后一个3<25
,那么您添加了wheel[f]
,这是一个D
,与elif
一起,您将只满足一个条件问题在于您的条件检查,因为多个条件同时计算为
True
,这是不需要的相关问题 更多 >
编程相关推荐