这段代码应该接收一个字符串输入并输出另一个字符串,该字符串只是输入字符串的修改版本。但是我无法让它工作。
它应该输出一个字符串,其中每个字母都是输入字符串的下一个字母。但是在运行代码时,它只是输出相同的输入字符串而不是修改后的字符串。
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)
最佳答案
你可以在 1 行中完成:
s = 'abcdz'
print(''.join(chr(ord(letter) + 1) if letter != 'z' else 'a' for letter in s))
# bcdea
演示:
>>> ord('a')
97
>>> ord('b')
98
>>> chr(ord('a') + 1)
'b'
关于用于字符串修改的 Python 代码无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49656922/