如何避免函数 getch() 出现问题

How to avoid problem with function getch()

我的程序有问题。这是一种循环菜单。我用 VS Code 编写。问题是当我 运行 编程并尝试选择三个选项之一时 运行s option else: print("No more option")。代码如下:

from getch import getch
def func_1():
    print("Hello")
def name():
    name = input("What is your name?: ")
    print("Your name is: "+name)
def do_sth(a=3):
    return 2 * a
while True:
    print("1) Wyświetl wynik funkcji")
    print("2) Wyświetl imię")
    print("3) Wyświetl do Sth")
    keyPressed=getch()
    if keyPressed =='1':
        func_1()
    elif keyPressed == '2':
        name()
    elif keyPressed =='3':
        print(do_sth())
        press = input("Press any key to continue....")
    else:
        print("No more option")

但是,当我在 Pydroid 3 中的 Android 智能手机上编写相同的代码时,它可以正常工作,运行 每个功能都可以单独使用。我不知道这是为什么?我还在 PyCharm 社区中编写了上面的代码,但它没有读取任何密钥。但是在我的 android smatphone 上的 Pydroid 3 中,代码完美无缺。

问题是比较字节串和字符串。

尝试:

from getch import getch

def func_1():
    print("Hello")

def name():
    name = input("What is your name?: ")
    print("Your name is: "+name)

def do_sth(a=3):
    return 2 * a

while True:
    print("1) Wyświetl wynik funkcji")
    print("2) Wyświetl imię")
    print("3) Wyświetl do Sth")
    keyPressed=getch()
    if keyPressed == b'1':
        func_1()
    elif keyPressed == b'2':
        name()
    elif keyPressed == b'3':
        print(do_sth())
        press = input("Press any key to continue....")
    else:
        print("No more option")