用于字符串修改的Python代码无法正常工作

Ste*_*nda 4 python string python-2.7

这段代码应该接受一个字符串输入并输出另一个字符串,它只是输入字符串的修改版本.我不能让它工作.

它应该输出一个字符串,其中每个字母是输入字符串的下一个字母.但是在运行代码时,它只输出相同的输入字符串而不是修改后的字符串.

def str_changer(string):

       string_list = list(string)
       alphabets = 'abcdefghijklmnopqrstuvwxyz'
       positions = []
       for letter in string_list:
         positions.append(alphabets.index(letter))
       for each in positions:
         each = each + 1
       for each in string_list:
         string_list[string_list.index(each)] = 
       alphabets[positions[string_list.index(each)]]

       another = ''.join(string_list)



       return another



    lmao = raw_input('Enter somin\'')
    print str_changer(lmao)
Run Code Online (Sandbox Code Playgroud)

Aus*_*tin 7

你可以只用一行:

s = 'abcdz'
print(''.join(chr(ord(letter) + 1) if letter != 'z' else 'a' for letter in s))
# bcdea
Run Code Online (Sandbox Code Playgroud)

演示:

>>> ord('a')
97
>>> ord('b')
98
>>> chr(ord('a') + 1)
'b'
Run Code Online (Sandbox Code Playgroud)