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

标签 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)

最佳答案

你可以在 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/

相关文章:

python - 如何根据 PEP8 格式化长 SQL 查询

python - SQLAlchemy: 'Table' 对象没有属性 'id'

python - 将某些属性从一个对象层次结构提取到另一个对象层次结构中的 'Pythonic' 方法是什么?

python - 是否可以在一个文件中写入和读取多个 DataFrame?

c# - 我可以使用什么来获取超出 String.Format 的名称字符串模板?

python - 在 argparse 中仅使用一个参数来处理多种情况

python - 当这个类的 __call__ 方法在没有正确参数的情况下被调用时,它是如何工作的?

python - 根据 pandas 中 isin() 的结果复制行值

java - 替换 "^"字符

javascript - 减少并检查最长的字符串