In my pygame movement system, how do i make it so when I press a key, then press another key so I go diagonally, and then release one of the keys, for it to continue in only that direction? I have tried multiple solutions and none have worked. code:
import pygame
screen = pygame.display.set_mode((1000,500))
pygame.display.set_caption("testing")
running=True
icon=pygame.image.load('example.png')
pygame.display.set_icon(icon)
pygame.init()
pygame.HWSURFACE
playerImg=pygame.image.load('player.png')
playerX=430
playerY=400
clock=pygame.time.Clock()
xchange=0
ychange=0 
def player ():
    screen.blit(playerImg,(playerX,playerY))
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running=False
        if event.type == pygame.KEYDOWN:  
            if event.key == pygame.K_LEFT and event.type == pygame.KEYDOWN and not event.key==pygame.K_DOWN and not event.key==pygame.K_UP and not event.key==pygame.K_RIGHT:
                xchange=-0.1
            if event.key == pygame.K_LEFT and event.type == pygame.KEYDOWN and event.key == pygame.K_UP:
                xchange=-0.1
                ychange=-0.1
            if event.key == pygame.K_RIGHT and event.type == pygame.KEYDOWN and not event.key == pygame.K_DOWN and not event.key==pygame.K_UP and not event.key==pygame.K_LEFT:
                xchange=0.1
            if event.key == pygame.K_LEFT and event.type == pygame.KEYDOWN and event.key == pygame.K_UP:
                xchange=0.1
                ychange=-0.1
            if event.key == pygame.K_UP and event.type == pygame.KEYDOWN and not event.key == pygame.K_DOWN and not event.key==pygame.K_RIGHT and not event.key==pygame.K_RIGHT:
                ychange=-0.1
            if event.key == pygame.K_DOWN and event.type == pygame.KEYDOWN and not event.key == pygame.K_UP and not event.key==pygame.K_LEFT and not event.key==pygame.K_RIGHT:
                ychange=0.1
            if event.key == pygame.K_LEFT and event.type == pygame.KEYDOWN and event.key == pygame.K_DOWN:
                xchange=-0.1
                ychange=0.1
            if event.key == pygame.K_RIGHT and event.type == pygame.KEYDOWN and event.key == pygame.K_DOWN:
                xchange=0.1
                ychange=0.1           
        if event.type == pygame.KEYUP:
            xchange=0
            ychange=0
    clock.tick(500)
    screen.fill((0, 50, 90))
    player()
    playerY+=ychange
    playerX+=xchange
    pygame.key.get_pressed()
    pygame.display.update()
done in visual studio code
 
    