-2

I've got a problem with my program. It's kind of looped menu. I write in VS Code. The problem is when I run program and try to choose one of the three options it runs option after else: print("No more option"). The code below:

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")

But when I wrorte the same code on my Android smatphone in Pydroid 3 it works everything fine it runs every function separatelly. I don't know why is that? I also wrote the code above in PyCharm Community and it doesn't read any key. But in Pydroid 3 on my android smatphone works code perfectlly.

Maria
  • 117
  • 9

1 Answers1

1

The issue is comparing a bytestring with a string.

Try:

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")
ewokx
  • 2,204
  • 3
  • 14
  • 27