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️⃣ 반복문으로 여러개의 다른 색, 다른 위치 터틀 만들기
🐢 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
파이썬에서 상수