프로그램
[파이썬] 문제 : 터틀(turle) 여러개의 좌표가 있는 리스트를 파일에 저장 후 읽기 사각형 그리기
오디세이99
2023. 4. 12. 18:12
728x90
반응형
파일에 저장하
traps = [[-500,500], [-400,400],[-300,300],[-100,400],[-200,100],
[-500,-400],[-500,-100],[-300,-200],[-300,-50],[-100,-500],
[500,100],[400,250],[300,100],[200,500],[100,350],
[500,-500],[400,-100],[300,-300],[200,-100],[100,-400]]
f = open('traps.txt','w') # 텍스트 파일 쓰기용으로 열기
for i in range(len(traps)): # 요소수 만큼 반복
print(traps[i][0],traps[i][1]) # 출력. 없어도 됨
f.write(str(traps[i][0]) + ',' + str(traps[i][1]) + '\n') # 파일에 쓰기. -500,500 과 같은 형때로 한 줄씩 씀.
f.close() # 파일 닫기
사각형 그리기
import turtle
f = open('traps.txt','r') # 파일 읽기용으로 열기
lines = f.readlines() # 읽기
f.close() # 파일 닫기
data = [] # 데이터용 리스트 변수 선언
for L in lines: # 한줄씩 데이터 가져오기
d = L.split(',') # ''-500,500'과 같은 형태여서 ','로 분리
data.append([int(d[0]), int(d[1])]) # 정수로 변환 후 [-500,500]과 같은 리스트 요소로 만들어 리스트에 추가. [[-500,500,[-4400,400]...]]
# print(data)
t=turtle.Turtle() # 터틀
t.shape('turtle')
t.speed(0) # 속도 빠르게
def draw(x, y): # 사각형 그리기 함수. 좌표x,y인수로 받음
t.penup() # 좌표 이동시 그려지지 않도록 펜 들음
t.goto(x,y) # 좌표 이동
t.pendown() # 그려지게 하기 위해 펜 내림
t.color('yellow') # 색 지정
t.begin_fill() # 색 채우기 시작
length = 100 # 길이 선언
for i in range(4): # 사각형 4번 반복
t.forward(length) # 이동하면 그리기
t.right(90) # 오른쪽으로 90도 회전
t.end_fill() # 채우기 종료
x = 0 # 좌표 변수 선언
y = 0
for pos in data: # 텍스트 파일에서 읽어 리스트에 저장한 좌표정보 가져오기. 요소수 만큼 반복
draw(pos[0], pos[1]) # 그리기 함수 실행
turtle.done()
728x90
반응형