Instance
클래스의 객체 또는 실체
클래스는 객체를 생성하기 위한 템플릿이며, 이 클래스를 기반으로 실제 객체를 만들면 그 객체를 인스턴스라고 함


class Car:
    def __init__(self, brand, color):
        self.brand = brand
        self.color = color

my_car = Car("Hyundai", "Blue")

⇨ my_car는 Car 클래스의 인스턴스


State
객체의 현재 속성 값들을 나타냄
클래스에 정의된 변수(속성)를 통해 해당 객체의 상태가 결정되며,
이는 객체의 특정 시점에서의 정보나 조건을 반영한다.
객체 지향 프로그래밍에서 객체의 상태는 그 객체의 속성(attribute)나 멤버 변수(member variable)에 저장되는 정보를 나타냄.
이 상태는 메서드를 통해 변경될 수 있다.



🐢 터틀 좌표계 이해하기

1️⃣ 화면 사이즈 설정

2️⃣ 팝업창 띄우기

3️⃣ 터틀 출발선으로 이동 시키기

5️⃣ 반복문으로 여러개의 다른 색, 다른 위치 터틀 만들기

1



🐢 Turtle Race

1️⃣ while문 생성해서 false조건 만들어주기, 유저가 선택 후 반복문 작동하게끔 if문 작성

2️⃣ random모듈에서 0~10까지 임의의 정수 가져와 터틀 이동 메소드에 넣어주기

3️⃣ 빈 리스트를 만들어 for문으로 생성된 각 터틀을 append

4️⃣ while문 안에 각각의 터틀이 이동할 수 있게 for문 넣기

5️⃣ 게임을 멈추는 조건 if문

6️⃣ 답을 확인하고 메시지를 출력하는 if문 생성


Final Code


from turtle import Turtle, Screen
import random

is_race_on = False
screen = Screen()
screen.setup(500, 400)
user_bet = screen.textinput("Make your bet", "Which turtle will win the race? Enter a color: ")
colors = ["red", "orange", "yellow", "green", "blue", "purple"]
y_positions = [-70, -40, -10, 20, 50, 80]
all_turtle = []

for turtle_index in range(0, 6):
    new_turtle = Turtle(shape="turtle")
    new_turtle.color(colors[turtle_index])
    new_turtle.penup()
    new_turtle.goto(x=-230, y=y_positions[turtle_index])
    all_turtle.append(new_turtle)

if user_bet:
    is_race_on = True

while is_race_on:

    for turtle in all_turtle:
        if turtle.xcor() > 230:
            is_race_on = False
            winning_color = turtle.pencolor()
            if winning_color == user_bet:
                print(f"You've won! The {winning_color} turtle is the winner!")
            else:
                print(f"You've lose! The {winning_color} turtle is the winner!")


        rand_distance = random.randint(0, 10)
        turtle.forward(rand_distance)


screen.exitonclick()




Review

파이썬에서 상수

2