Professional Documents
Culture Documents
알고리즘 –
JAVA
Python
</>
반복문
영남대학교 컴퓨터공학과
UX
조행래 교수
# for문 (실습)
# 중첩 반복문 (실습)
-1-
1. for 문 for 문 Sequence range() 함수
for 변수 in 시퀀스 : 명령 1
하나 또는 여러 개의 명령
시퀀스에 항목이
남아있는가?
시퀀스에 항목이 시퀀스에
있으면 다음 항목이
항목을 꺼낸다 없으면
반복될 명령(들)
명령 2
-2-
2. Sequence for 문 Sequence range() 함수
Sequence란?
여러 항목을 저장하며, 각 항목은 순서를 갖는 자료 구조
대표적인 Sequence
list: [항목1, 항목2, …] 형태로 저장되며, 항목의 수정도 가능
-3-
for 문의 예 – Sequence for 문 Sequence range() 함수
-4-
3. range() 함수 for 문 Sequence range() 함수
예: list(range(10)) == [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(start, stop)
예 2: list(range(0, -10, -1)) == [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
-5-
for 문의 예 – range() 함수 for 문 Sequence range() 함수
프로그램 실행 결과
import turtle
star = turtle.Turtle()
for i in range(5) :
star.forward(200)
star.right(144)
import turtle
rectangle = turtle.Turtle()
line_color = ["red", "yellow", "green", "blue"]
for i in range(len(line_color)) :
rectangle.color(line_color[i])
rectangle.forward(200)
rectangle.left(90)
-7-
else, break, in과 for 문의
4. else, break, continue continue not in 연산자 실행 흐름도
while 문의 동작 과정과 거의 동일
else – Sequence의 모든 항목들을 처리한 후 실행
-8-
else, break, in과 for 문의
5. in과 not in 연산자 continue not in 연산자 실행 흐름도
이전 명령들 …
for 시퀀스 :
continue
조건이
거짓이면 break
else :
…
다음 명령들 …
- 10 -
7. 중첩 반복문 중첩 반복문 집합 연산
- 13 -
중첩 반복문 – 삼각형 그리기 중첩 반복문 집합 연산
삼각형 그리기 *
모두 10개의 줄로 구성 (외부 반복문) **
***
줄 번호만큼 별을 출력 (내부 반복문) ****
*****
In [1]: for x in range(10) : # 10줄을 출력하자 ******
for y in range(x+1) : # 각 줄에서 출력할 별의 수 *******
print("*", end = "") ********
print() *********
**********
다른 모양의 삼각형 그리기도 도전해 보자…
********** * **********
********* ** *********
******** *** ********
******* **** *******
****** ***** ******
***** ****** *****
**** ******* ****
*** ******** ***
** ********* **
* ********** *
- 14 -
for를 이용한 중첩 반복문 – Sequence 중첩 반복문 집합 연산
- 15 -
4. 집합 연산 중첩 반복문 집합 연산
문제
두 개의 리스트에 저장된 데이터들의 교집합/합집합/차집합 구하기
예: A = [23, 15, 2, 14, 14, 16, 20, 14], B = [2, 48, 15, 14, 26, 32, 47, 14]
해결 방법
중첩 반복문
set 연산
- 16 -
교집합 구하기 중첩 반복문 집합 연산
입력: 두 개의 리스트
A = [23, 15, 2, 14, 14, 16, 20, 14], B = [2, 48, 15, 14, 26, 32, 47, 14]
입력: 두 개의 리스트
A = [23, 15, 2, 14, 14, 16, 20, 14], B = [2, 48, 15, 14, 26, 32, 47, 14]
방법 2: for 문으로 직접 구현
In [2]: U = list(A)
for item in B :
[23, 15, 2, 14, 14, 16, 20, 14, 48, 26, 32, 47]
if item not in U :
U.append(item)
- 18 -
차집합 구하기 중첩 반복문 집합 연산
입력: 두 개의 리스트
A = [23, 15, 2, 14, 14, 16, 20, 14], B = [2, 48, 15, 14, 26, 32, 47, 14]