Question regarding pygame's "draw" method. If I had a sprite group named "spritegroup" and had a display surface named "screen" I could use spritegroup.draw(screen) to draw the spritegroup onto the screen. Additionally, assume the sprite has an update method which makes the current x position of the sprite change by 5 units. This update method will be called in the main game loop upon the user hitting a specific key.
To explain further, we would call the update method in the game loop every time the key was hit. Then, we would draw the spritegroup(which now has an altered position) to the screen. Then, we can use the flip method to update these changes to the user's monitor.
However, considering the process described above is within a loop, the next time the user hits the key, the update method will be called and once again the sprite group will once again be drawn onto the screen. My confusion is at this point: in the previous iteration we have already drawn the sprite group onto the screen. Yet, we are doing so again(albeit in an altered position), in this iteration. Why wouldn't this result in two sprite groups being displayed to the user when the pygame.display.flip() method is called?