Ваш цикл for вызывает event.get (), который очищает очередь событий. Итак, после этого, который вы пытаетесь использовать event.poll (), вы, вероятно, просто получите NOEVENT, потому что очередь пуста. И event.poll () получит только одно событие, я думаю, первое событие в очереди. Таким образом, единственный способ получить событие KEYDOWN - это если это произошло во время прохождения цикла for через другие события, и между событием KEYDOWN и вызовом event.get () не произошло никакого другого события.
Мне не понятно, почему вы хотите избежать цикла обработки событий, но чтобы получить искомый результат, я бы изменил цикл for на оператор if, проверяющий pygame.event.get (pygame.QUIT) (вы только нужно знать, есть ли он), и оператор if для цикла в pygame.event.get (pygame.KEYDOWN) (в случае, если вам нужно обработать несколько ключей KEYDOWN). Затем добавьте вызов pygame.event.pump () для очистки любых других событий из очереди.