Menu
CoddyTech

elif와 else

Coddy Pygame 여정의 게임 창에서 배우는 Python 섹션에 포함된 레슨. 32개 중 12번째.

else는 조건이 거짓일 때 실행되는 두 번째 분기를 if에 추가합니다. "else if"의 줄임말인 elif는 그 사이에 조건을 더 추가합니다.

if moon_x < 200:
    colour = (255, 170, 90)
elif moon_x < 440:
    colour = (240, 230, 160)
else:
    colour = (160, 190, 255)

Python은 위에서부터 조건을 검사하고, 조건이 참인 첫 번째 분기를 실행한 뒤 나머지는 건너뜁니다. x가 100일 때 처음 두 조건이 모두 참이지만, 첫 번째 분기만 실행됩니다. else에는 조건이 없습니다. 위의 조건이 모두 참이 아닐 때 실행됩니다.

각각 별개의 if를 쓰면 동작이 다릅니다. 각각의 조건을 모두 검사합니다. if를 세 개 사용하면 x가 100인 달은 주황색으로 변한 다음, 두 번째 if에서 다시 노란색으로 변합니다.

여기서 colour는 튜플을 담는 변수입니다. 이 변수를 사용해 그려 보세요: pygame.draw.circle(screen, colour, (moon_x, moon_y), 50).

challenge icon

챌린지

중급

달의 위치에 따라 달에 색을 입히세요. 변경 부분에서 키 입력을 처리한 다음에:

  1. moon_x < 200이면 colour를 주황색 (255, 170, 90)으로 설정하세요.
  2. moon_x < 440이면 평소 색상인 (240, 230, 160)으로 설정하세요.
  3. 그렇지 않으면 파란색 (160, 190, 255)으로 설정하세요.
  4. colour를 사용해 달을 그리세요.

직접 해보기

import pygame

pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()

# 게임 루프가 시작되기 전에 여기서 필요한 것들을 설정하세요.
moon_x = 320
moon_y = 240

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

    # 프레임마다 한 번씩 여기서 필요한 것들을 변경하세요.
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        moon_x = moon_x - 4
    if keys[pygame.K_RIGHT]:
        moon_x = moon_x + 4

    screen.fill((20, 24, 48))
    # 화면을 채운 후 여기서 그리세요.
    pygame.draw.circle(screen, (240, 230, 160), (moon_x, moon_y), 50)

    pygame.display.flip()
    clock.tick(60)

pygame.quit()

게임 창에서 배우는 Python의 모든 레슨

직접 연습해 보세요: Pygame 플레이그라운드