Как исправить ошибку синтаксиса с моим elif, если заявление.Что я делаю неправильно? - PullRequest
0 голосов
/ 07 февраля 2019
import sys

import pygame


def check_events(ship):

    elif event.type == pygame.KEYDOWN:
        if event.key == pygame.K_RIGHT:
            # Move the ship to the right.
            ship.moving_right = True

    elif event.type == pygame.KEYUP:
        if event.key == pygame.K_RIGHT:
            ship.moving_right = False

def update_screen(ai_settings, screen, ship):
    '''Update images on the screen and flip to the new screen.'''

Ошибка:

File "/home/mark/python_work/game_functions.py", line 8
        elif event.type == pygame.KEYDOWN:
           ^
    SyntaxError: invalid syntax
    [Finished in 0.2s with exit code 1]

Ответы [ 3 ]

0 голосов
/ 07 февраля 2019

У вас есть elif без if перед ним.Просто измените первый elif на if.

0 голосов
/ 07 февраля 2019

Вы не можете использовать elif перед оператором if.Elif нельзя использовать без оператора if.Это правильный синтаксис.import sys

import pygame

def check_events (ship):

if event.type == pygame.KEYDOWN:
    if event.key == pygame.K_RIGHT:
        # Move the ship to the right.
        ship.moving_right = True

elif event.type == pygame.KEYUP:
    if event.key == pygame.K_RIGHT:
        ship.moving_right = False

def update_screen (ai_settings, screen, ship): '' 'Обновить изображения на экране иперевернуть на новый экран. '' '

0 голосов
/ 07 февраля 2019

В вашей функции ваше первое условие должно начинаться с if.

def check_events(ship):

    if event.type == pygame.KEYDOWN:  # <--- note the change here
        if event.key == pygame.K_RIGHT:
            # Move the ship to the right.
            ship.moving_right = True

    elif event.type == pygame.KEYUP:
        if event.key == pygame.K_RIGHT:
            ship.moving_right = False
...