Q:

pygame не закрывается окно

Создаю окно. Оно запускается, но закрываться не хочет. Зависает намертво 
import pygame

def main():
    pygame.init()
    size = [240,180]
    screen = pygame.display.set_mode(size)
    pygame.display.set_caption("window")

    running = True
    while running:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                running = False

if __name__=="__main__":
    main()

A:

Потому что у вас идет цикл и когда он заканчивается ничего не происходит. Для того чтобы у вас закрывалась программа то используйте библиотеку  sys функцию sys.exit() или без библиотеки exit() или quit()
import pygame
import sys

def main():
    pygame.init()
    size = [240, 180]
    screen = pygame.display.set_mode(size)
    pygame.display.set_caption("window")
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()

if __name__ == "__main__":
    main()

