卡在下一个字母生成器Python 3上

2024-10-01 15:39:49 发布

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

目前,我正在网上上一些计算机科学课程。我的任务是编写一个程序,在一个有效的输入下,将打印字母表中的下一个字母。这是我的代码:

char = input()
ordchar = ord(char)
nextletter = ordchar + 1
nextletter = chr(nextletter)

if nextletter == ("["):
    print("A")

if nextletter == ("{"):
    print("a")

if nextletter!=("[","{"):
    print(nextletter)

现在,我确实看到了代码的问题,尽管我不知道如何纠正它。基本上,在倒数第二行代码中,我希望它本质上说“如果nextletter不等于{or[print nextletter”。在


Tags: 代码程序inputif字母字母表课程计算机科学
3条回答

使用not in成员资格运算符:

if nextletter not in ("[","{"):
    print(nextletter)

还要注意,如果使用if-elif构造而不是单个if's,则可以避免第三个测试。这样,您就可以将第三部分放入else块中。在

if nextletter not in ["[", "{"]:
    print(nextletter)

您根本不需要测试这些字符。在它之前的代码中,确保nextletternever将是[或{},如果你只是在那里给nextletter分配一个不同的字母:

if nextletter == "[":
    nextletter = "A"
elif nextletter == "{":
    nextletter = 'a'

如果仍需要进行这样的测试,请使用^{} operator

^{pr2}$

如果右边的序列中没有左手操作数,not in返回{}。在我的示例中,我使用了一个包含两个字符的字符串,它作为一个序列:

^{3}$

相关问题 更多 >

    热门问题