ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ํ„ฐํ‹€๊ทธ๋ž˜ํ”ฝ] ํ‘œ ๊ทธ๋ฆฌ๊ธฐ
    SW/Python 2023. 6. 12. 09:43

     ํ„ฐํ‹€ ๊ทธ๋ž˜ํ”ฝ(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() ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

    'SW > Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

    [ํ„ฐํ‹€๊ทธ๋ž˜ํ”ฝ] ๊ทธ๋ฆผํŒ ํ”„๋กœ๊ทธ๋žจ  (0) 2023.06.12
    [ํ„ฐํ‹€๊ทธ๋ž˜ํ”ฝ]  (0) 2023.06.12
    NumPy  (0) 2023.06.07
    Python-AI  (0) 2023.06.07

    ๋Œ“๊ธ€

Designed by Tistory.