python07.pptx
7-7. 이름을
입력으로 받아서 “Happy Birthday, dear 입력이름”을
출력하는
함수 happyBirthday()
를
작성하고 호출해서 실행해보시오
| def happyBirthday(name): print("happyBirthday, dear ",name) arr = input("이름은?:") happyBirthday(arr) | cs |
|
|
7-10. 반지름을 입력으로 받아서 원의 면적과 둘레를 계산하고 출력하는 함수
Circle()을
작성하고 호출해서
실행해보시오
| def calculate_area1 (radius): area = 3.14 * radius ** 2 print(area) def calculate_area2 (radius): area = 3.14 * radius * 2 print(area) r = int(input("반지름 입력 : ")) c_area = calculate_area1(r) c_area = calculate_area2(r) | cs |
|
|
7-12. start에서
시작해서 inc만큼 증가하면서 end
까지의
정수의 합을 출력하는 함수
get_sum(start,
end, inc)를
작성하고 호출해서 실행해보시오
| def get_sum(start, end, inc): sum = 0 for i in range(start, end+1, inc): sum = sum + i return sum a = int(input("start입력 : ")) b = int(input("end입력 : ")) c = 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 t = 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(-200, 0) # (-200, 0)으로 이동한다. t.down() # 펜을 내린다. pentagon(100); # square() 함수를 호출한다. t.up() t.goto(0, 0) 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. 정팔각형을
그려보시오
| import turtle t = 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(8, 100) # 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 t = turtle.Turtle() # n-각형을 그리는 함수를 정의한다. def triangle(n, length): for i in range(n): t.forward(length) t.left(360 // n) # 정수 나눗셈은 //으로 한다. a = 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 # 터틀 그래픽 모듈을 포함한다. t = 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() # 색채우기 위해서 필요하다 s = turtle.Screen() # 그림이 그려지는 화면을 얻는다. s.onscreenclick(drawit) # 마우스 클릭 이벤트 처리 함수를 등록한다. | cs |
| |
7-31. 마우스로 그림 그리기
// 이번 실습에서는 drawit() 안에 goto()를 넣어서 거북이를 클릭된 위치로 이동시키도록 하자.
// 현재 위치에서 클릭된 위치까지 선이 그려 진다.
| import turtle # 터틀 그래픽 모듈을 포함한다. def drawit(x, y): t.goto(x, y) t = turtle.Turtle() t.shape("turtle") t.pensize(10) s = turtle.Screen() # 그림이 그려지는 화면을 얻는다. s.onscreenclick(drawit) # 마우스 클릭 이벤트 처리 함수를 등록한다. | cs |
|
|
7-36. 시언핀스키 삼각형 그리기
순환 함수를 이용해서 프랙털 도형(시어핀스키 삼각형)을 그리는 프로그램을 작성해보자.
| import turtle t = 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) t = turtle.Turtle() screen = turtle.Screen() t.shape("turtle") t.speed(0) draw_maze(-300, 200) screen.onkey(turn_left, "Left") screen.onkey(turn_right, "Right") t.penup(); t.goto(-300, 250) t.speed(1) t.pendown(); screen.listen() screen.mainloop() | cs |
|
|