now I would suggest changing the way of registering button presses (I cannot tell if it is better but someone had similar problem and it helped him):
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
keys = pygame.key.get_pressed()
if keys[pygame.K_q]:
# [...]
if keys[pygame.K_a]:
# [...]
if keys[pygame.K_LEFT]:
# [...]
and so on
CLICK HERE to find out more related problems solutions.