PYTHON 7장 함수

PYTHON/TRAINNING 2018. 1. 8. 18:12 |

python07.pptx


7-7. 이름을 입력으로 받아서 “Happy Birthday, dear 입력이름 출력하는

 함수 happyBirthday() 를 작성하고 호출해서 실행해보시오

 

1
2
3
4
5
6
def happyBirthday(name):
    print("happyBirthday, dear ",name)
 
 
arr = input("이름은?:")
happyBirthday(arr)
cs

 





7-10. 반지름을 입력으로 받아서 원의 면적과 둘레를 계산하고 출력하는 함수

 Circle()을 작성하고 호출해서 실행해보시오

 

1
2
3
4
5
6
7
8
9
10
11
def calculate_area1 (radius):
    area = 3.14 * radius ** 2
    print(area)
 
def calculate_area2 (radius):
    area = 3.14 * radius * 2
    print(area)
 
= int(input("반지름 입력 : "))
c_area = calculate_area1(r)
c_area = calculate_area2(r)
cs

 



7-12. start에서 시작해서 inc만큼 증가하면서 end 까지의 정수의 합을 출력하는 함수

 get_sum(start, end, inc)를 작성하고 호출해서 실행해보시오 

 

1
2
3
4
5
6
7
8
9
10
11
def get_sum(start, end, inc):
    sum = 0
    for i in range(start, end+1, inc):
        sum = sum + i
    return sum
 
= int(input("start입력 : "))
= int(input("end입력 : "))
= int(input("inc입력 : "))
 
print(get_sum(a, b, c))
cs

 



7-15. 4개의 정오각형을 그려보시오

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import turtle
= turtle.Turtle()
t.shape("turtle")
 
def pentagon(length): # length는 한변의 길이
    for i in range(5):
        t.forward(length)
        t.left(360//5)
 
t.up()         # 펜을 든다.
t.goto(-2000)     # (-200, 0)으로 이동한다.
t.down()         # 펜을 내린다.
pentagon(100);     # square() 함수를 호출한다.
t.up()
t.goto(00)
t.down()
pentagon(100);
t.up()
t.goto(-200-200)
t.down()
pentagon(100);
t.up()
t.goto(0-200)
t.down()
pentagon(100);
cs

 



7-18. 정팔각형을 그려보시오

 

1
2
3
4
5
6
7
8
9
10
11
12
import turtle
= turtle.Turtle()
 
# n-각형을 그리는 함수를 정의한다.
def n_polygon(n, length):
    for i in range(n):
        t.forward(length) 
        t.left(360 // n) # 정수 나눗셈은 //으로 한다.
 
for i in range(10):
        t.left(20# 20도 옆으로
        n_polygon(8100# 6각형, 길이 100
cs

 





7-19. 삼각형을 그리는 함수 triangle()을 작성해서 다음과 같은 그림을 그려보시오

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import turtle
= turtle.Turtle()
 
# n-각형을 그리는 함수를 정의한다.
def triangle(n, length):
    for i in range(n):
        t.forward(length) 
        t.left(360 // n) # 정수 나눗셈은 //으로 한다.
 
= 30
 
for i in range(1,19):
    
    t.left(60# 60도 옆으로
    triangle(3, a) 
    if (i % 6 == 0):
        a = a + 30
cs

 








7-27.사용자가 화면에서 마우스 버튼을 클릭한 경우, 클릭 된 위치에 사각형을 그리는 프로그램을 작성해 보자. 앞에서 작성한 square() 함수도 사용한다

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import turtle # 터틀 그래픽 모듈을 포함한다.
= turtle.Turtle()
 
def square(length):
    for i in range(4):
        t.forward(length)
        t.left(90)
def drawit(x, y):
    t.penup()
    t.goto(x, y)
    t.pendown()
    t.begin_fill() # 색채우기 위해서 필요하다
    t.color("green")
    square(50)
    t.end_fill() # 색채우기 위해서 필요하다
 
= turtle.Screen() # 그림이 그려지는 화면을 얻는다.
s.onscreenclick(drawit) # 마우스 클릭 이벤트 처리 함수를 등록한다.
cs

 


7-31. 마우스로 그림 그리기

// 이번 실습에서는 drawit() 안에 goto()를 넣어서 거북이를 클릭된 위치로 이동시키도록 하자.

// 현재 위치에서 클릭된 위치까지 선이 그려 진다.

 

1
2
3
4
5
6
7
8
9
10
import turtle # 터틀 그래픽 모듈을 포함한다.
 
def drawit(x, y):
    t.goto(x, y)
 
= turtle.Turtle()
t.shape("turtle")
t.pensize(10)
= turtle.Screen() # 그림이 그려지는 화면을 얻는다.
s.onscreenclick(drawit) # 마우스 클릭 이벤트 처리 함수를 등록한다.
cs

 




7-36. 시언핀스키 삼각형 그리기
순환 함수를 이용해서 프랙털 도형(시어핀스키 삼각형)을 그리는 프로그램을 작성해보자.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import turtle
 
= turtle.Turtle()
t.speed(0) # 거북이의 속도는 0으로 설정하면 최대가 됨
t.right(180# 거북이가 왼쪽을 향하도록 함
 
def sier(length):
    if length > 10:
        for i in range(3):
            sier(length/2) # length가 1/2인 인수로 순환함수호출
            t.forward(length)
            t.right(120)
 
sier(300)
cs

 


7-38. 터틀 메이즈 러너
화면에 미로를 만들고 거북이가 화살표를 이용하여 미로에 닫지 않게 진행하는 프로그램을 작성해보자.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import random
import turtle
 
def draw_maze(x, y):
    for i in range(2):
        t.penup()
        if i==1 :
            t.goto(x+100, y+100)
        else:
            t.goto(x, y)
        t.pendown()
        t.forward(300)
        t.right(90)
        t.forward(300)
        t.left(90)
        t.forward(300)
        
def turn_left():
    t.left(10)
    t.forward(10)
 
def turn_right():
    t.right(10)
    t.forward(10)
 
= turtle.Turtle()
screen = turtle.Screen()
t.shape("turtle")
t.speed(0)
draw_maze(-300200)
screen.onkey(turn_left, "Left")
screen.onkey(turn_right, "Right")
 
t.penup();
t.goto(-300250)
t.speed(1)
t.pendown();
screen.listen()
screen.mainloop()
cs

 



'PYTHON > TRAINNING' 카테고리의 다른 글

PYTHON 9장 리스트와 딕셔너리  (0) 2018.01.08
PYTHON 8장 프로젝트  (2) 2018.01.08
PYTHON 6장 반복문  (0) 2018.01.06
PYTHON 5장 조건문  (0) 2018.01.06
PYTHON 4장 자료의 종류  (0) 2018.01.06
Posted by 너래쟁이
: