[ํฐํ๊ทธ๋ํฝ] ํ ๊ทธ๋ฆฌ๊ธฐ
ํฐํ ๊ทธ๋ํฝ(Turtle Graphics)์ ์ฌ์ฉํ์ฌ ํ๋ฅผ ๊ทธ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ๋๋ฆฌ๊ฒ ์ต๋๋ค. ํฐํ ๊ทธ๋ํฝ์ ํ์ฉํ์ฌ ๊ฐ๋จํ ํ๋ฅผ ๊ทธ๋ ค๋ณด๊ฒ ์ต๋๋ค. ๋ค์์ ํ์ด์ฌ ์ฝ๋ ์์ ์ ๋๋ค:
import turtle # ํ ๊ทธ๋ฆฌ๊ธฐ ํจ์ def draw_table(data): t = turtle.Turtle() t.speed(0) # ๊ฑฐ๋ถ์ด ์๋ ์ค์ (0์ ๊ฐ์ฅ ๋น ๋ฅธ ์๋) row_height = 30 # ํ์ ๋์ด col_width = 100 # ์ด์ ๋๋น # ํ ๋๋ฆฌ ๊ทธ๋ฆฌ๊ธฐ t.penup() t.goto(-col_width/2, -len(data)*row_height/2) t.pendown() t.setheading(0) t.forward(col_width) t.setheading(90) t.forward(len(data)*row_height) t.setheading(180) t.forward(col_width) t.setheading(270) t.forward(len(data)*row_height) t.penup() # ๋ฐ์ดํฐ ํ ๊ทธ๋ฆฌ๊ธฐ for i, row in enumerate(data): t.goto(-col_width/2, i*row_height - len(data)*row_height/2) t.pendown() for j, item in enumerate(row): t.write(item, align="center", font=("Arial", 12, "normal")) t.forward(col_width) t.penup() turtle.done() # ๋ฐ์ดํฐ ์์ data = [ ["์ด๋ฆ", "๋์ด", "์ฑ๋ณ"], ["John", "25", "๋จ์ฑ"], ["Jane", "30", "์ฌ์ฑ"], ["Mike", "35", "๋จ์ฑ"] ] # ํ ๊ทธ๋ฆฌ๊ธฐ draw_table(data) |
์ด ์ฝ๋๋ ์ฃผ์ด์ง ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฅผ ๊ทธ๋ฆฌ๋ ์์ ์
๋๋ค. draw_table() ํจ์๋ ๋ฐ์ดํฐ๋ฅผ ์ธ์๋ก ๋ฐ์์ ํ๋ฅผ ๊ทธ๋ฆฝ๋๋ค. ๊ฐ ํ๊ณผ ์ด์ ๋๋น์ ๋์ด๋ฅผ ์ค์ ํ๊ณ , turtle.Turtle()์ ์ฌ์ฉํ์ฌ ๊ฑฐ๋ถ์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ ํ๋ฅผ ๊ทธ๋ฆฝ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ์ ๋ฐ๋ผ ํ๋ฅผ ๊ทธ๋ ค์ฃผ๋ ๋ถ๋ถ์ด ์์ต๋๋ค.
์์ ์ฝ๋๋ฅผ ์คํํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋กํ ํ๊ฐ ํฐํ ๊ทธ๋ํฝ ์ฐฝ์์ ๋ํ๋ฉ๋๋ค. ํ์ ๊ฐ ์
์ ๋ฐ์ดํฐ์ ๊ฐ์ ๋ํ๋ด๋ฉฐ, ํ์ ํ
๋๋ฆฌ์ ๊ฐ ์
์ ๊ฑฐ๋ถ์ด ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ๊ทธ๋ ค์ง๋๋ค.
๋ง์ฝ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ฅผ ๊ทธ๋ฆฌ๊ณ ์ถ๋ค๋ฉด, data ๋ณ์๋ฅผ ๋ณ๊ฒฝํ๊ณ draw_table() ํจ์๋ฅผ ํธ์ถํ๋ฉด ๋ฉ๋๋ค.