Professional Documents
Culture Documents
지난 시간 복습
>>> list(range(5))
[0, 1, 2, 3, 4]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> a
True
>>> b = (4 > 2) or (3 != 3)
>>> b
True
>>> not a
False
>>> not b
False
반복문
✔ 반복문의 여러가지 표현
while 문
- while 문은 [조건식]이 (참(True))인 동안 내부에 있는 명령문을 수행하고, [조건식]이
(거짓(False))인 경우 while문을 빠져나온다.
- while문의 조건식 끝에는 꼭 ( 쌍점(:) )을 붙여 주어야 한다.
- while 문에 [명령문]을 포함시키려면 spacebar ( 4 )번을 통해 들여쓰기로 구분해야 합니다.
for문 + list: 리스트의 원소
- list는 자료(data)를 하나로 묶어서 표현한 것을 말합니다. 각각의 자료는 원소라고 부릅니다. ex)
[1, 2, 3, 4, 5]
- for문 + list는 list의 원소가 차례대로 (변수명)에 넣어 명령어를 실행하고 원소가 더이상 없으면
종료됩니다.
for문 + range()
- range() 함수는 규칙에 따라 원소를 생성합니다.
- for문 + range()는 range() 함수가 생성한 원소를 차례대로 (변수명)에 넣어 명령어를 실행하고
원소가 더이상 없으면 종료됩니다.
증감식
a=a+1 a+=1
b=b-2 b-=2
반복문 활용
반복문만 사용하는 경우
i=0 for i in range(4): for i in [10, 10, 10, 10, 10]: for i in range(6):
t.forward(i)
while i < 3: t.forward(100) t.forward(100)
t.left(72)
t.forward(100) t.left(90) t.left(60)
t.left(120)
i=i+1
함수를 함께 사용하는 경우
def n_poly(n):
for i in range(n):
t.forward(100)
t.left(360 / n)
✔ 반복문의 제어
- break: 특정 조건일 때 반복문에서 벗어나야 하는 경우에 사용한다.
- continue: 특정 조건만 건너뛰고 계속 반복문을 실행하고 싶을 때 사용한다.
break문 continue문
퀴즈 프로그램(p155)
a = True a = True
print(“프로그램을 작성할 때 일정한 구간의”) print(“프로그램을 작성할 때 일정한 구간의”)
print(“명령을 반복해서 실행하도록 구성한”) print(“명령을 반복해서 실행하도록 구성한”)
print(“구문을 무엇이라 하는가?”) print(“구문을 무엇이라 하는가?”)
while a: while a:
n = input(“정답: ”) n = input(“정답: ”)
if n == “반복문” : if n == “반복문” :
print(“[정답]”) print(“[정답]”)
a = False break
else: else:
print(“[오답]”) print(“[오답]”)
print(1) #실행됨 print(1) #실행안됨
import random
score = 0
success = True
while success:
room = random.randin(1,3)
n = int(input(“방 번호를 입력하세요.: “)
if n == room:
print(“유령이다!!!”)
success = False
elif n > 3:
print(n, “번 방은 없습니다.”)
else:
print(“유령이 없다.”)
score+=1
print(“게임 종료”)
print(“점수: “, score, “점”)
연습문제
변경전 변경후
count = 1 count = 1
def rect(dis): def rect(dis):
t.forward(dis) for i in range(4):
t.right(90) t.forward(dis)
t.forward(dis) t.right(90)
t.right(90)
t.forward(dis) def f():
t.right(90) global count
t.forward(dis) r = random.random()
t.right(90) g = random.random()
b = random.random()
def f(): size=random.randint(1, 10)
global count dis = random.randint(1, 100)
r = random.random() xpos=random.randint(-200, 200)
g = random.random() ypos=random.randint(-200, 200)
b = random.random()
size=random.randint(1, 10) t.penup()
dis = random.randint(1, 100) t.goto(xpos, ypos)
xpos=random.randint(-200, 200) t.pendown()
ypos=random.randint(-200, 200) t.pensize(size)
t.color(r, g, b)
t.penup()
t.goto(xpos, ypos) if count%2 == 0:
t.pendown() rect(dis)
t.pensize(size) count+=1
t.color(r, g, b) else:
t.begin_fill()
if count%2 == 0: rect(dis)
rect(dis) t.end_fill()
count+=1 count+=1
else:
t.begin_fill() for i in range(40):
rect(dis) f()
t.end_fill()
count+=1
f(), f(), f(), f(), f(), f(), f(), f(), f(), f()
f(), f(), f(), f(), f(), f(), f(), f(), f(), f()
f(), f(), f(), f(), f(), f(), f(), f(), f(), f()
f(), f(), f(), f(), f(), f(), f(), f(), f(), f()