使用if语句遍历大写ch

2024-09-28 20:47:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个python程序,将一个字符作为输入,它将是一个大写字符;输出应该是字母表中的下一个字符。但是如果输入是'Z',那么输出应该是'A'。下面是我的代码,但当我输入Y时,它会输出'Z'和'Y':

ino = ord(input())
if ino != 90:
 ino += 1
 print(chr(ino)) 
 if ino == 90: 
  print(chr(65))

Tags: 代码程序inputif字符字母表printino
2条回答

我对python没有太多的经验,但我可以用一般的编程术语来解释它

在这里,你试图做一个圆周运动,也就是说,你希望AZ之后被打印出来,这是线性公式中的第一个和最后一个元素

我们知道A的ASCII值是65,Z的ASCII值是90,英语中有26个字母。现在如果我用65减去输入,我可以从A知道它的位置。如果这个位置+1超过26,也就是说,我们超过了Z,应该回滚到A。在这里我们可以使用模运算。所以当我们用26模化新位置时,我们回滚到A。既然一开始我们减去了65,现在我们必须把它加回去平衡方程,得到真正的ASCII值

因此,您的代码可能类似于:

ino = ord(input())
ino = ino - 65
ino = (ino + 1) % 26
ino = ino + 65
print(chr(ino))

希望这对你有用

ino = ord(input())
if ino == 90:
    ino = 65
else:
    ino = ino + 1
print(chr(ino))

相关问题 更多 >