Как я могу исправить ошибку отступа? Когда я собираюсь заполнить цвета - PullRequest
0 голосов
/ 14 января 2020

Я новичок в Python,

У меня есть эта ошибка:

unindent does not match any outer indentation level (<unknown>, line 24) 

Это мой код:

import pygame

#get screen
screen = pygame.display.set_mode((800, 600))

#Set title and logo
pygame.display.set_caption('Space Invaders')
icon = pygame.image.load('spaceship.png')
pygame.display.set_icon(icon)


#Running
running = True
while running:
    import pygame

    for event in pygame.event.get():

        if event.type == pygame.QUIT:
            running = False

  screen.fill((155 , 0, 0))
  pygame.display.update() 

Я пытался заполнить экран цветами, но выше ошибка появляется всегда. Пожалуйста, помогите мне исправить это.

1 Ответ

0 голосов
/ 14 января 2020

У вас есть ошибка отступа в строке 1, но я думаю, что это ошибка при вставке в переполнение стека, поскольку она не является источником вашего сообщения об ошибке.

Как говорится в сообщении об ошибке, вы Отмена отступа строк:

  screen.fill((155 , 0, 0))
  pygame.display.update() 

, поскольку они не соответствуют отступу for над ними, и вы не удалили их достаточно, чтобы соответствовать while выше, поэтому Python не знает где они принадлежат. В идеале все отступы должны быть либо 0, либо кратными 4 пробелам.

Отступ последних двух строк, предположительно, должен быть таким же, как для l oop над ним. Кроме того, вам нужно импортировать Pygame только один раз, поэтому вы не должны включать его в l oop.

Так (если вы хотите, чтобы эти две строки были внутри while) что-то вроде:

import pygame

#get screen
screen = pygame.display.set_mode((800, 600))

#Set title and logo
pygame.display.set_caption('Space Invaders')
icon = pygame.image.load('spaceship.png')
pygame.display.set_icon(icon)

#Running
running = True
while running:
    for event in pygame.event.get():

        if event.type == pygame.QUIT:
            running = False

    screen.fill((155 , 0, 0))
    pygame.display.update() 
...