如何修复显示为“{”而不是“a”的替换字母,这就是它的意思

我正在学校参加一场名为 Grok 的比赛。这是一场 Python 比赛。我想在 char 循环中用 'a' 替换字母 'z'。但是当我输入一个带有字母 z 的单词时,该字母显示为 { 而不是 a。


text = input('Word? ')



for char in text:

  if 'z' in char:

    new_char = chr(ord(char) + 1)

    new_char.replace('z', 'a')

  else:

    new_char = chr(ord(char) + 1)



  print(new_char, end='')

如果我输入一个像 Pizza 这样的词,当我希望它产生 Piaaa 时,z 的字母会替换为 { 而不是 a,比如 pi{{a


慕侠2389804
浏览 95回答 3
3回答

幕布斯7119047

如何避免循环并仅使用str.replace:text = text.replace('z', 'a')它将替换所有出现的'z'with 'a'in text。

宝慕林4294392

我觉得有问题new_char = chr(ord(char) + 1)在该行之后尝试 print new_char ,您就会知道。for char in text:  if 'z' in char:    new_char = chr(ord(char) + 1)    print(new_char)    new_char.replace('z', 'a')  else:    new_char = chr(ord(char) + 1)  print(new_char, end='')

函数式编程

发生这种情况是因为ord('z')122 和ord('{')123。像new_char = char(ord('a') + (ord(char) - ord('a') + 1) % 26)应该管用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python