여러 기능을 모아놓은 묶음을 함수라고 한다.
def name(parameter):
contents
선언부는 위와같은 형태로 사용하면 될것 같다.
아래는 다각형을 여러번 그리는 함수코드이다.
import turtle
t=turtle.Turtle()
def polygon(n,length):
for _ in range(n):
t.fd(length)
t.lt(360/n)
for _ in range(10):
t.lt(20)
polygon(6,100)
함수 내에서 전역변수를 가져와 사용하고 싶다면 아래와 같이 선언시 앞에 global을 붙여주면 된다.
def func():
global a
print(a)
a=10
func()
print(a)
함수에 인자값을 넘길때 아래와 같이 키워드를 이용하면 순서를 바꿔줄 수 있다.
def func(a,b,c):
print(a, b, c)
func(c=10, a=7, b=20)
클릭하는곳에 사각형 그리기
import turtle
t=turtle.Turtle()
s=turtle.Screen()
def square(length):
for _ in range(4):
t.fd(length)
t.lt(90)
def drawit(x,y):
t.up()
t.goto(x,y)
t.down()
t.begin_fill()
t.color("green")
square(50)
t.end_fill()
s.onscreenclick(drawit)
그림그리는 프로그램을 만들어보자
import turtle
t=turtle.Turtle()
s=turtle.Screen()
def square(length):
for _ in range(4):
t.fd(length)
t.lt(90)
def draw(x,y):
t.goto(x,y)
s.onscreenclick(draw)
s.onkey(t.up,"Up")
s.onkey(t.down,"Down")
s.listen()
재귀함수를 통한 나무그리기
import turtle
t=turtle.Turtle()
def tree(length):
if length>5:
t.fd(length)
t.right(20)
tree(length-15)
t.lt(40)
tree(length-15)
t.rt(20)
t.bk(length)
t.left(90)
t.color("green")
t.speed(0)
tree(90)
'Programing > Python' 카테고리의 다른 글
Python :: 리스트(list)와 딕셔너리(dictionary) - 내용 (0) | 2017.06.12 |
---|---|
Python :: 함수 - 연습문제 (0) | 2017.06.12 |
Python :: 파이썬에서 언더바(_) 하나의 뜻 (0) | 2017.06.12 |
Python :: 반복문 - 연습문제 (0) | 2017.06.11 |
Python :: 반복문 - 내용 (0) | 2017.06.11 |