๊ด€๋ฆฌ ๋ฉ”๋‰ด

C-log

๐Ÿ‘ฉ‍๐Ÿซclass : 4week ๋ณธ๋ฌธ

๐Ÿ“˜Python/๐Ÿ‘ฉ‍๐Ÿซclass

๐Ÿ‘ฉ‍๐Ÿซclass : 4week

4:Bee 2023. 9. 19. 17:18
728x90

#๊ณผ์ œ ์ œ์ถœ ํ•  ๋•Œ ๊ผญ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ.

ํ„ฐํ‹€ ๊ทธ๋ž˜ํ”ฝ ํ™œ์šฉ

ํ„ฐํ‹€ ๊ทธ๋ž˜ํ”ฝ์„ ํ†ตํ•ด์„œ ๋‹ค์–‘ํ•œ ๋„ํ˜•๋“ค์„ ๋งŒ๋“ค์–ด ๋ณด์ž.

import turle

import turtle
t =turtle.Turtle()
t.shape("turtle")

์šฐ๋ฆฌ๊ฐ€ ํ„ฐํ‹€ ๊ทธ๋ž˜ํ”ฝ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์œ„์˜ ์ฝ”๋“œ๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค. shape()์—๋Š” ๋‹ค์–‘ํ•œ ๋ชจ์–‘์ด ์กด์žฌํ•œ๋‹ค. ์•„๋ž˜ ํ‘œ๋ฅผ ์‚ดํŽด๋ณด์ž.

t.forward(), right(), left()

import turtle
t =turtle.Turtle()
t.shape("turtle")

t.right(90)
t.forward(100)
t.right(90)
t.forward(100)
t.right(90)
t.forward(100)
t.right(90)
t.forward(100)

forward()๋Š” ์•ž์œผ๋กœ ๊ฐ€๋Š” ์›€์ง์ด๋Š” ๋ช…๋ น์–ด์ด๋‹ค. right()/left()๊ฐ™์€ ๊ฒฝ์šฐ ๋ฐฉํ–ฅ์„ ์ •ํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค. ์œ„์˜ ์ฝ”๋“œ์˜ ๊ฒฐ๊ณผ๋ฌผ์€ ์•„๋ž˜ ์ด๋ฏธ์ง€์™€ ๊ฐ™๋‹ค.

์œ„์˜ ๊ฒฐ๊ณผ๋ฌผ์„ t.stamp()๋ฅผ ํ†ตํ•ด์„œ ๊ฐ ์ ๋งˆ๋‹ค turtle์ด ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•ด๋ณด์ž. ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

t.stamp(), t.write(t.position())

t.stamp()
t.write(t.position())
t.forward(100)
t.stamp()
t.write(t.position())
t.right(90)
t.forward(100)
t.stamp()
t.write(t.position())
t.right(90)
t.forward(100)
t.write(t.position())
t.stamp()
t.right(90)
t.forward(100)
t.write(t.position())

t.stamp()๋ช…๋ น์–ด๊ฐ€ ์žˆ๋Š” ์ค„์—์„œ๋Š” turtle๋ชจ์–‘์ด ์ฐํžŒ๋‹ค. ์ด์™€ ๋™์‹œ์— t.write(t.position())์ด๋ผ๋Š” ๋ช…๋ น์–ด๋กœ ๊ฐํ•ด๋‹น ์ž๋ฆฌ์— turtle์˜ position ๊ฐ’์ด ํ‘œ๊ธฐ ๋œ๋‹ค. ์•„๋ž˜์˜ ๊ฒฐ๊ณผ๋ฌผ์„ ๋ณด์ž.

๊ฐ ์ ์— turtle์˜ ๋ฐฉํ–ฅ๋„ ์ž˜ ์‚ดํŽด๋ณด์ž. ๋งŒ์•ฝ turtle์˜ ๋ฐฉํ–ฅ์„ ๋ฐ”๊พธ๊ณ  stamp๋ฅผ ํ–ˆ๋‹ค๋ฉด ์ „ํ˜€ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ์˜ ๋ชจ์Šต์ด ๋‚˜์˜ฌ ๊ฒƒ์ด๋‹ค.

 

color(), circle()

์ด๋ฒˆ์—๋Š” colorํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ turtle์•„์ด์ฝ˜์„ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝํ•ด๋ณด์ž. ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด์ž

import turtle
t = turtle.Turtle()
t.shape("turtle")

t.width(3)
t.color("red")
t.circle(50)

์—ฌ๊ธฐ์„œ t.color("red")๋ฅผ ์‚ฌ์šฉํ•ด์„œ circle()ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋นจ๊ฐ„์„  ์›ํ˜•์„ ๋งŒ๋“ ๋‹ค. ๋”ํ•ด์„œ ๋นจ๊ฐ„์ƒ‰ turtle์•„์ด์ฝ˜์ด ์ƒ์„ฑ๋œ๋‹ค. ์ด๋ฒˆ์—๋Š” ๋นจ๊ฐ„์„ ์— ๋…ธ๋ž€์ƒ‰์œผ๋กœ ์ฑ„์›Œ ๋„ฃ์–ด๋ณด์ž. ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด์ž.

 

up(),down(),fillcolor()

t.up()
t.forward(80)
t.down()
t.fillcolor("yellow")
t.begin_fill()
t.circle(70)
t.end_fill()

์œ„์˜ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด up()์„ ํ†ตํ•ด์„œ ์„ ์˜ ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝํ•ด์ค€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์›ํ•˜๋Š” ํ•ด๋‹น ์œ„์น˜๋กœ forward()๋กœ ์ด๋™ํ•˜๊ณ  down()์„ ํ†ตํ•ด์„œ ๋‹ค์‹œ ์„ ์„ ๊ทธ๋ฆด ์ค€๋น„๋ฅผ ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ fillcolor()ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด์„œ ํ•ด๋‹น ๋„ํ˜•์— ์ฑ„์šธ ์ƒ‰์˜ ๊ฐ’์„ ๋ฏธ๋ฆฌ ์„ค์ •ํ•˜๊ณ  begin_fill()์ด๋ผ๋Š” ํ•จ์ˆ˜๋กœ ์ฑ„์›Œ์ค„ ์ค€๋น„๋ฅผ ํ•œ๋‹ค. ์ดํ›„ ํ•ด๋‹น ๋„ํ˜•์„ ๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น ๋„ํ˜•์„ ๋‹ค ์ฑ„์šฐ๊ณ  ๋‚˜๋ฉด end_fill()ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

์œ„์™€ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ๋ชจ๋‘ ์—ฐ๊ฒฐํ•ด์„œ ๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค.

์ฒ˜์Œ ๋นจ๊ฐ„์ƒ‰ ๋ผ์ธ ์›ํ˜•์„ ๊ทธ๋ ค๋‚ผ๋•Œ๋Š” ๋นจ๊ฐ„ turtle์ด๋ฏธ์ง€๋งŒ ๋…ธ๋ž€์ƒ‰ turtle์„ ๊ทธ๋ ค ๋‚ผ๋• ๋…ธ๋ž€์ƒ‰ turtle๋กœ ๋ณ€๊ฒฝ๋œ๋‹ค.
๊ฐ ์ฝ”๋“œ๋ฅผ ๋”ฐ๋กœ ์‹คํ–‰ํ–ˆ์„ ๋•Œ์˜ ๊ฒฐ๊ณผ๋“ค์ด๋‹ค. ๋‘๋ฒˆ ์งธ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด t.color()๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— default๊ฐ’์ธ ๊ฒ€์€์ƒ‰ ์„ ์œผ๋กœ ์›์„ ๊ทธ๋ ค๋‚ธ๋‹ค.

 

turtle.colormode(),pensize()

์šฐ๋ฆฌ๋Š” colorํ•จ์ˆ˜๋กœ ์ƒ‰์ƒ์„ ์ •ํ–ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” colormode๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ์ƒˆ๋กœ์šด ์›ํ˜•์„ ๋งŒ๋“ค์–ด๋ณด์ž. ์šฐ์„  colormode()๋Š” RGB์นผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ชจ๋“œ๋ฅผ ์„ค์ •ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค.  ๋”ฐ๋ผ์„œ 0์—์„œ ๋ถ€ํ„ฐ 255์ธ 256๊ฐ€์ง€์˜ ์ƒ‰์ƒ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด์ž.

import turtle
t =turtle.Turtle()
t.shape("turtle")

turtle.colormode(255)
t.pensize(3)
t.color(0,0,255)
t.fillcolor(255,255,0)
t.begin_fill()
t.circle(50)
t.end_fill()

์šฐ๋ฆฌ๋Š” colormode๋ฅผ 255์ธ RGB์นผ๋ผ๋ฅผ ์„ ํƒํ–ˆ๊ณ  colorํ•จ์ˆ˜๋Š” ์ด์ œ๋ถ€ํ„ฐ RGB ์ƒ‰์ƒํ‘œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์—ฌ๊ธฐ์„œ ์„ ํƒํ•œ ์ƒ‰์ƒ์€ ํŒŒ๋ž€์ƒ‰์„ ์„ ํƒํ–ˆ๋‹ค. pensizeํ•จ์ˆ˜๋กœ ํŒฌ์˜ ๊ตต๊ธฐ๋ฅผ ์กฐ์ ˆํ•˜๊ณ  fillcolorํ•จ์ˆ˜ ๋˜ํ•œ RGB ์ƒ‰์ƒํ‘œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋…ธ๋ž€์ƒ‰์„ ์„ ํƒํ–ˆ๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ๋Š” ์œ„์—์„œ ์šฐ๋ฆฌ๊ฐ€ ์‚ดํŽด๋ณธ ์ฝ”๋“œ์ด๋ฉฐ ์ง์ ‘ ์‹ค์Šต์„ ํ†ตํ•ด ํ™•์ธํ•ด ๋ณด์ž. ์•„๋ž˜ ์ด๋ฏธ์ง€๋Š” ํ•ด๋‹น ์ฝ”๋“œ์˜ ๊ฒฐ๊ณผ์ด๋‹ค.

goto(), hideturtle()

๋งˆ์ง€๋ง‰์œผ๋กœ goto๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด๋ณผ ๊ฒƒ์ด๋‹ค. forward์™€๋Š” ๋‹ฌ๋ฆฌ x,y์ขŒํ‘œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์›€์ง์ผ ์ˆ˜ ์žˆ๋‹ค. ๋ฌผ๋ก  goto์˜ x๊ฐ’์˜ ์ขŒํ‘œ๋งŒ์„ ์ด์šฉํ•ด์„œ ํŒฌ์„ ์ด๋™์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์žˆ์œผ๋‚˜ y์˜ ๊ฐ’์„ ๋”ฐ๋กœ right๋‚˜ left๋กœ ์ง€์ •์„ ํ•ด์•ผํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด์ž. 

#forward_test
import turtle
t =turtle.Turtle()
t.shape("turtle")

t.up()
t.forward(-200)
t.right(90)
t.forward(100)
t.down()
t.write("forward" + str(t.position()))
t.circle(50)
t.hideturtle()

์šฐ์„  forward๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํŒฌ์˜ ์œ„์น˜๋ฅผ ์ด๋™ ์‹œํ‚ค๋Š” ์ฝ”๋“œ๋Š” ์œ„์™€ ๊ฐ™๋‹ค. ์ˆ˜๊ณ ๋กœ์›€์ด ์—ฌ๋Ÿฌ๋ฒˆ ํ•„์š”ํ•˜์ง€๋งŒ goto๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ๋Š” ์ข€ ๋” ๊ฐ„๋žตํ•˜๊ฒŒ ์ฝ”๋“œ๊ฐ€ ์ž‘์„ฑ๋œ๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด์ž.

#goto_test
import turtle
t =turtle.Turtle()
t.shape("turtle")

t.up()
t.goto(-200,-100)
t.down()
t.write("goto" + str(t.position()))
t.circle(50)
t.hideturtle()

๋‘˜์ด ๊ฐ™์€ ์œ„์น˜์—์„œ ์‹œ์ž‘ํ•˜์ง€๋งŒ ์ฝ”๋“œ์˜ ๊ธธ์ด๋งŒ ๋ณด์•„๋„ ๊ฐ„๋žตํ•˜๊ณ  ๋” ๋ณด๊ธฐ ํŽธํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์œ„ ๋‘˜์˜ ์ฝ”๋“œ์˜ ๊ฒฐ๊ณผ๋ฅผ ํ•œ๋ฒˆ ์‚ดํŽด๋ณด์ž.

turtle์ด ๊ทธ๋ฆผ์„ ๊ทธ๋ฆฌ๋Š” ์‹œ์ž‘ ์œ„์น˜๋Š” ์„œ๋กœ ๋‹ค๋ฅด์ง€๋งŒ ์›ํ˜€์˜ position๊ฐ’์€ ์„œ๋กœ ๋™์ผํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์ˆ˜ ์žˆ๋‹ค.(์บก์ณ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๊ฐ€ ๋‹ฌ๋ผ ์›ํ˜•์˜ ํฌ๊ธฐ๊ฐ€ ๋‹ค๋ผ๋Š” ๊ฒƒ์„ ์œ ์˜ํ•ด์„œ ๋ณด์ž.)

๋‘˜๋‹ค ๊ฐ™์€ ์œ„์น˜์— ์กด์žฌํ•˜๋Š” ์›ํ˜•์ด์ง€๋งŒ ์–ด๋–ค ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋Š๋ƒ์— ๋”ฐ๋ผ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ฝ์„ ๋•Œ ๋˜๋Š” ์‚ฌ์šฉํ•  ๋•Œ ํŽธ๋ฆฌํ•จ์˜ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์˜ค๋Š˜์˜ ์ˆ˜์—… ๋ณต์Šต์€ ๋งˆ์น˜๋„๋ก ํ•˜๊ฒ ๋‹ค. 


๊ฐ„๋‹จํ•œ ๊ณผ์ œ

์œ„์˜ ์ฝ”๋“œ๋“ค์„ ์กฐํ•ฉํ•ด์„œ ์•„๋ž˜์˜ ๊ณผ์ œ๋ฅผ ์ˆ˜ํ–‰ ํ•˜์˜€๋‹ค.

#์˜ค๋ฅœ๊ธฐ ๊ทธ๋ฆฌ๊ธฐ
#150์ด๋™

t.pensize(5)
t.speed(5)
turtle.colormode(255)

#t.color(0,0,255)
#1st
t.color(0,0,255)
t.up()
t.goto(-150,50)
t.down()

t.circle(70)

#2nd
t.color(0,0,0)
t.up()
t.goto(0,50)
t.down()

t.circle(70)

#3rd
t.color(255,0,0)
t.up()
t.goto(150,50)
t.down()

t.circle(70)

#4th
t.color(0,255,0)
t.up()
t.goto(75,-50)
t.down()

t.circle(70)

#5th
t.color(255,255,0)
t.up()
t.goto(-75,-50)
t.down()

t.circle(70)

๋งˆ์ง€๋ง‰์— hideturtleํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋” ์ข‹์„ ๋“ฏ ํ•˜๋‹ค.

728x90

'๐Ÿ“˜Python > ๐Ÿ‘ฉโ€๐Ÿซclass' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๐Ÿ‘ฉโ€๐Ÿซclass : 7week  (0) 2023.10.16
๐Ÿ‘ฉโ€๐Ÿซclass : 5week  (0) 2023.09.26
๐Ÿ‘ฉโ€๐Ÿซclass : 3week  (0) 2023.09.12
๐Ÿ‘ฉโ€๐Ÿซclass : 2week  (0) 2023.09.05
๐Ÿ‘ฉโ€๐Ÿซclass : 1week  (0) 2023.09.05
Comments