我正在尝试编写一个程序,它接受一个单词或句子,然后将每个字符在字母表中移动一个位置。 这是我最小的可重现示例:
alphabet = []
alphabet = [chr(x) for x in range(ord('a'), ord('z') +1)]
word = 'hello'
new_word = [ ]
for char in word:
if char in alphabet:
new_pos = alphabet.index(char) + 1
if new_pos > len(alphabet):
new_pos %= len(alphabet)
new_word.append(alphabet[new_pos])
else:
continue
我的问题是:为什么这不会将单词的字符在字母表中移动一位?
最佳答案
您可以改为使用此列表推导式:
word = 'hello'
new_word = ''.join([chr(ord(w)+1) if w.lower()!='z' else chr(ord(w)-25) for w in word])
print(new_word)
输出:
ifmmp
您还可以:
new_word = ''.join([chr(ord(w)+1) if w not in ['z','Z'] else chr(ord(w)-25) for w in word])
关于python - 为什么我的单词中的字符不在字母表中移动一个位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62863426/