빅데이터 & 딥러닝 스터디/파이썬 스터디(김변수와 시작하는 코딩생활 3기)
8/22 (월) 김변수와 시작하는 코딩생활 with 파이썬 스터디 14일차(선택2 좌표 설정하기)
승이네
2022. 8. 22. 00:12
반응형
선택 과제 3-14. 좌표 설정하기
좌표를 설정할 수 있는 클래스를 작성하고, 해당 클래스의 인스턴스를 생성하여 활용해 보세요.
조건1 : 클래스는 생성자를 통해 (x, y) 좌표를 초기화 합니다.
조건2 : 다음과 같은 기능을 메소드로 가집니다.
- x좌표만 설정
- y좌표만 설정
- (x, y) 좌표를 반환
- (x, y) 좌표를 (dx, dy)만큼 이동
조건3 : 반복문과 조건문을 이용해 좌표를 이동시키고, 이동한 최종 좌표를 출력합니다.
class Coordinate:
def __init__(self, x, y):
self.x = x
self.y = y
def move(self, movex, movey):
self.x = self.x + movex
self.y = self.y + movey
def rex(self, rex):
self.x = rex
def rey(self, rey):
self.y = rey
def printCoordinate(self):
print(f"현재 좌표 : {int(self.x), int(self.y)}")
x = int(input("x 좌표를 입력해 주세요. : "))
y = int(input("y 좌표를 입력해 주세요. : "))
coordinate_out = Coordinate(x, y)
coordinate_out.printCoordinate()
print("""
x 좌표 설정을 원한다면 x를,
y 좌표 설정을 원한다면 y를,
좌표 이동을 원한다면 m을,
좌표 설정을 종료하려면 0을 입력해 주세요""")
while True:
print("")
choose = input("입력 : ")
print("")
if choose == "x":
rex = int(input("x 좌표를 입력해 주세요. : "))
coordinate_out.rex(rex)
elif choose == "y":
rey = int(input("y 좌표를 입력해 주세요. : "))
coordinate_out.rey(rey)
elif choose == "m":
movex = int(input("x 좌표를 얼마만큼 이동할지 입력해 주세요. : "))
movey = int(input("y 좌표를 얼마만큼 이동할지 입력해 주세요. : "))
coordinate_out.move(movex, movey)
elif choose == "0":
break
else:
print("잘못된 선택입니다. 다시 선택해주세요.")
coordinate_out.printCoordinate()
처음에 '조건3 : 반복문과 조건문을 이용해 좌표를 이동시키고, 이동한 최종 좌표를 출력합니다.'를 이해하지 못했는데 반복문은 while문을 쓰라는 얘기였네요 ㅎㅎ
이제 클래스를 사용한 코딩도 잘 할 수 있네요.
반응형