我已经创建了这段代码,而且似乎不了解问题所在。它只会“加密”一个字母:
def c(word, offset):
eword=""
for letter in word:
if letter in alphabet:
index_letter= alphabet.index(letter)
new_index= index_letter+offset
if new_index>25:
new_index= new_index-26
eword+= aphabet[new_index]
elif new_index<25:
eword+= alphabet[new_index]
else:
eword.join(letter)
return eword
运行程序时
c("test", 3)
我只得到'k'
。有人可以帮我解决这个问题吗?谢谢。
答案 0 :(得分:0)
您的return
在for
循环内。这意味着您将始终在第一次迭代后返回eword
。尝试取消缩进一次:
def c(word, offset):
eword=""
for letter in word:
if letter in alphabet:
index_letter= alphabet.index(letter)
new_index= index_letter+offset
if new_index>25:
new_index= new_index-26
eword+= aphabet[new_index]
elif new_index<25:
eword+= alphabet[new_index]
else:
eword.join(letter)
return eword # <-- This line went back 4 spaces