windows - Hvordan kontrollerer du brugerens input uden at bruge input i Python

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at gøre det sådan, at mens sløjfen stopper, når du trykker på c, uden at stoppe den ved hjælp af input.


Koden jeg har for øjeblikket er dette:


    while True:
        print("Test")
        if msvcrt.kbhit():
            if (msvcrt.getch() == "c"):
                os.\_exit(0)
                break
            elif (msvcrt.getch() != "c"):
                continue


FY Jeg er på vinduer.
Eventuelle ideer om hvordan man gør det ud over det forsøg, jeg allerede har gjort?

Bedste reference


Problemet er i linjen if (msvcrt.getch() == "c"):.


Du bruger ikke getch() == "c" men getch() == 99 eller men getch() == ord("c").


Hvorfor? Fordi det er hvad ord() vender tilbage, returneres et helt tal, der repræsenterer Unicode-kodepunktet for det eneste tegn i strengen, i dette tilfælde c. [9]





Forresten har Python allerede KeyboardInterrupt, der tillader brug af Ctrl + C for afbrydelse af kode. Du kan også try-except det.





Bemærk : Du kan også bruge 67, hvis Caps Lock er tændt.