python在屏幕上画整齐排列的星星

import sys
import pygame

from settings import Settings
from star import Star

class StarInvasion:
    def __init__(self):
        pygame.init()

        self.settings = Settings()
        self.screen = pygame.display.set_mode((800,600))
        self.settings.screen_width = self.screen.get_rect().width
        self.settings.screen_height = self.screen.get_rect().height
        pygame.display.set_caption("Star Invasion")

        self.stars = pygame.sprite.Group()
        
        self.bg_color = (0,0,0)
        
        self._create_fleet()

    def run_game(self):
        while True:
            self._update_screen()

    def _create_fleet(self):

        star = Star(self)
        star_width,star_height = star.rect.size
        available_space_x = self.settings.screen_width - (2 * star_width)
        number_star_x = available_space_x // (2 * star_width)

        available_space_y = (self.settings.screen_height - 
                            (3 * star_height))
        number_rows = available_space_y // (2 * star_height)

        for row_number in range(number_rows):
            for star_number in range(number_star_x):
                self._create_star(star_number,row_number)

    def _create_star(self,star_number,row_number):

        star = Star(self)
        star_width,star_height = star.rect.size
        star.x = star_width + 2 * star_width * star_number
        star.rect.x = star.x
        star.rect.y = star.rect.height + 2 * star.rect.height * row_number
        self.stars.add(star)

    def _update_screen(self):
        self.screen.fill(self.settings.bg_color)
        self.stars.draw(self.screen)

        pygame.display.flip()

if __name__ == '__main__':
    ai = StarInvasion()
    ai.run_game()

 

这样不知道为什么运行后全屏黑没有星星图案,并且程序卡死

不是输出一行一行的星星

def stars1(n):

for i in range(1,n+1):

str = "*"*i

print str

if __name__ ==  "__main__":

stars1(5)