p135 순차 반복 선택구조의 구현

1. 파이선의 터틀 모듈 : 그림을 그리는 도구

from	turtle	import	*
~로부터	터틀 모듈	~을 불러온다	모든 것

2. 순차구조의 구현(p.136)

예제1) 사각형 그리기 (단위는 픽셀)

>>> from turtle import *

>>> forward(100)

>>> right(90)

>>> forward(100)

>>> right(90)

>>> forward(100)

>>> right(90)

>>> forward(100)

>>> right(90)

turtle(거북이)의 메소드

메소드	내용
color(c)	펜 색상 설정
fillcolor(c)	펜 채움 색상 설정
begin_fill()	도형을 채우기 위해 그리기 전에 설정
end_fill()	다 그린 후 설정
filling()	채우기 반환, 채우기 상태면 True, 아니면 False
clear()	창 깨끗이, turtle 영향x
reset()	창 깨끗이, turtle 초기화
screensize(w,h)	캔버스의 너비와 높이 설정
hideturtle()	turtle 숨김
showturtle()	turtle 표시
write(‘문자’, font=“궁서체”,10,“bold”))	turtle 위치에 글자 쓰기
pensize(크기)	펜의 두께를 크기(픽셀)로 설정한다.
penup()	펜 들기
pendown()	펜 내리기
goto(x,y)	지정 좌표로 이동
circle(숫자, steps=꼭지점)	꼭지점이 있고 반지름(숫자)인 도형 그리기
forward() / backward()	()안의 픽셀만큼 앞 / 뒤로 이동
left() / right()	()안의 픽셀만큰 왼쪽 / 오른쪽으로 회전

3. 반복구조의 구현(p.137)

for 변수 in range(반복횟수) : 실행 명령	while 조건 : 실행명령	while True: 실행명령

(1) 특정 횟수 반복

for	변수	in	range	:
④반복한 후	⑤변수에 저장	③안에서	②반복 횟수	①다음 명령어 실행을

예제2)

>>> for a in range(4) :

print(a)

>>>print(a)

P.138) range()함수의 표현형태

표현 형태	의미	예시
range(숫자)	0이상 제시된 숫자 미만 1씩 증가	list(range(5)) -> [0,1,2,3,4]
range(시작숫자, 마지막 숫자)	시작 숫자이상 마지막 숫자미만 1증가	list(range(0,5)) -> [0,1,2,3,4] list(range(5,10)) -> [5,6,7,8,9]
range(시작숫자, 마지막 숫자, 증가폭)	시작숫자이상 마지막숫자 미만 증감폭 증가	list(range(1,10,2)) -> [1,3,5,7,9] list(range(10,1,-2)) -> [10,8,6,4,2]

예제3) 사각형 그리기 (단위는 픽셀) >>> from turtle import * >>> forward(100) >>> right(90) >>> forward(100) >>> right(90) >>> forward(100) >>> right(90) >>> forward(100) >>> right(90)	예제2) 사각형 그리기 (단위는 픽셀) >>> from turtle import * >>> for a in range(4) : >>> forward(100) >>> right(90)

(2) 조건을 만족하는 동안 반복(p.139)

while	조건	:
③만족하는 동안	②조건에	①다음 명령어를 실행

※조건을 만족하지 않으면 while 종료

예제5)

password = ‘1234’

a=’’

while a !=password:

a=input(‘비밀번호를 입력하세요:’)

print(‘문이 열립니다.’)

예제6) ‘hi’ 5번 반복하기

for a in range(5) :

print(‘hi’)

횟수	1	2	3	4	5
a	0	1	2	3	4
출력	hi	hi	hi	hi	hi

a=0

while a<5:

print(‘hi’)

a=a+1

횟수	1	2	3	4	5
a	0	1	2	3	4
출력	hi	hi	hi	hi	hi

(3) 무한 반복(p.140)

while	True	:
③만족하는 동안	②항상 참	①다음 명령어를 실행

※조건을 항상 만족하기 때문에 while 종료되지 않음.

예제7)

while True :

print(‘hi’)

(4) 선택 구조(p.141)

if	조건	:
①만약	②조건을 만족하면	③다음 명령어를 실행
elif	조건	:
①만약	②조건을 만족하면	③다음 명령어를 실행
else	:
①그렇지 않으면	②다음 명령어를 실행

예제8)

a=input('당신의 키(cm):')

b=input('당신의 몸무게(kg):')

bmi=int(b)/((int(a)/100)**2)

print('당신의 BMI는',bmi,'입니다.')

if bmi<20:

print('저체중입니다.')

elif bmi<25:

print('정상체중입니다.')

elif bmi<30:

print('경도비만입니다.')

elif bmi<40:

print('비만입니다.')

else:

print('고도비만입니다.')

실전문제)

숫자 1부터 10까지 합을 구해 그 값을 출력하는 코드를 작성하시오.

for in

a=0

b=0

for a in range(11):

b=b+a

print(b)

횟수	1	2	3	4	5	6	7	8	9	10	11
b=b+a	0	1	3	6	10	15	21	28	36	45	55
a	0	1	2	3	4	5	6	7	8	9	10

while

a=0

b=0

while a<11:

b=b+a

a=a+1

print(b)

횟수	1	2	3	4	5	6	7	8	9	10	11	12
b=b+a	0	1	3	6	10	15	21	28	36	45	55	end
a	0	1	2	3	4	5	6	7	8	9	10	11

구구단을 출력하시오. (for in 중첩 사용)

출력예시)

2 × 1 = 2

2 × 2 = 4

□

for in

for a in range(2,10):

for b in range(1,10):

print(a,‘×’,b’,‘=’,a*b)

횟수	1	2	3	4	5	6	7	8	9	10	11	12	13	14	15	16	17	18	19	20	…	72
a	2									3									4		…	9
b	1	2	3	4	5	6	7	8	9	1	2	3	4	5	6	7	8	9	1	2	…	9
a*b	2	4	6	8	10	12	14	16	18	3	6	9	12	15	18	21	24	27	4	8		81

뛰어넘기 문제)p144

조건

1. 삼각형, 사각형, 오각형 선택은 각 1,2,3으로 선택하도록 안내한다.

2. 도형의 한변의 길이는 100픽셀로 그린다.

3. 1,2,3번을 입력하지 않으면 ‘잘못된 번호입니다.’가 출력되게 한다.

실행결과

삼각형은 1, 사각형은 2, 오각형은 3을 입력하세요 : 1<-입력값

from turtle import *

c=input('삼각형은1, 사각형은 2, 오각형은 3을 입력하세요:')

c=int(c)

if c==1:

for d in range(3):

forward(100)

right(120)

elif c==2:

for d in range(4):

forward(100)

right(90)

elif c==3:

for d in range(5):

forward(100)

right(72)

else:

print('잘못된 번호입니다.')