'Getting Pygame keyboard input and check if it's a number
I am trying to get keyboard input using Pygame using this command:
if event.type == pg.KEYDOWN:
# ADD KEYBOARD EVENTS
keys = pg.key.get_pressed()
I want to check if the button pressed represents a number, I already know how to check if a string represent a number using try/except command, but, in my code keys is not a string, it is a huge tuple - and I don't know how to get it in an efficient way because every time I look in the internet on how to get keyboard input, they need to equate keys to something like pygame.pygame.K_LEFT and I don't want to do this for each number and furthermore every number in the number-pad (right side).
Is there an efficient way to determine if a user clicked on a number? Thanks!
Solution 1:[1]
The following code offers quite a neat solution, it ignores all inputs that aren't numbers without even using try/except:
if event.type == pygame.KEYDOWN and event.unicode.isdigit():
print(int(event.unicode))
I wasn't able to find a way to do this that was more compact on the web, so worked out this solution by researching how to check if a string is an integer.
How can I check if a string represents an int, without using try/except?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Jacob Grumley |
