if문에 이어 반복문 for와 while에 대해 써보도록 하겠습니다.
"""
문장 2 종류
1) 실행문
가. 순차문 : 일반적으로 순차적으로 진행되는 문장
나. 제어문
- 조건문 (분기문) : 단일 if문, if ~ else문, 다중 if문, 3항 연산자 (*****)
: 중첩 가능
- 반복문 : for문
while문
( do ~ while문 지원 x )
* 주의할점
: 콜론(:)을 사용하는데
반드시 콜론(:) 다음 문장은 들여쓰기 해야한다.
2) 비실행문 ( 주석문 )
- 한 줄 주석문 : hash tags ( # )
- 멀티 주석 : triple quotation marks (""" """ / ''' ''')
"""
for문은 for 변수 in 집합형 데이터로 작동합니다.
for와 else를 함께 사용할 수 있는데, 이 때, for문이 정상적으로 종료되었을 때만 else문이 작동합니다.
"""
1. for 문
문법1:
for 변수 in 집합형 데이터: # 집합형 데이터의 갯수만큼 반복
문장
문법2:
for 변수 in 집합형 데이터: # 집합형 데이터의 갯수만큼 반복
문장
else: # 정상적인 반복 종료 시에만 실행
문장 (break문으로 종료시에는 실행 x)
"""
1. 집합형 데이터를 이용해 for문을 반복할 수 있습니다.
(집합형 데이터를 반복 횟수를 지정하는데만 사용합니다.)
for n in [1, 2, 3, 4, 5]:
print("hello") # hello # hello # hello # hello # hello
for m in "abcde":
print("world") # world # world # world # world # world
2. 집합형 데이터를 이용해 for문을 반복 + 해당 데이터를 출력합니다.
x = [100, 300, 400, 500]
for y in x:
print(y) # 100 # 200 # 300 # 400 # 500
for q in "car":
print(q) # c # a # r
for q in (1, 2, 3):
print(q) # 1 # 2 # 3
for e in {90, 70, 40}: # 셋은 순서가 없어서 순서대로 출력은 안 됨
print(e) # 40 90 70
3. for ~ else : for문의 정상 죵료시, else로 정상 종료를 확인합니다.
for a in (1, 2, 3):
print(a) # 1 # 2 # 3
else:
print("정상 종료 합니다.") # 정상 종료 합니다.
4. dict를 이용하여 for문을 사용할 수 있습니다.
어떻게 dict의 값을 호출하느냐에 따라서 for문이 반환하는 value가 달라집니다.
{ key : value, .... }, .keys(), .values(), .items() / print(for 변수), print(for 변수, dict[for 변수], print(for key 변수, for value 변수)
#dict 사용 가능 # key 값 출력
for e in {'name': '홍길동', 'age': 30, 'address': '제주', 'email': 'hong@gmail.com'}:
print(e) # name age address email
print("=" * 50)
k = {'name': '홍길동', 'age': 30, 'address': '제주', 'email': 'hong@gmail.com'}
for e in k:
print(e, k[e]) # key 값과 value 함께 출력 # name 홍길동 # age 30 # address 제주 # email hong@gmail.com
print("=" * 50)
k = {'name': '홍길동', 'age': 30, 'address': '제주', 'email': 'hong@gmail.com'}
for e in k.keys(): # key 값 출력
print(e) # name # age # address # email
print("=" * 50)
k = {'name': '홍길동', 'age': 30, 'address': '제주', 'email': 'hong@gmail.com'}
for e in k.keys(): # key 값과 value 함께 출력
print(e, k[e]) # name 홍길동 # age 30 # address 제주 # email hong@gmail.com
print("=" * 50)
k = {'name': '홍길동', 'age': 30, 'address': '제주', 'email': 'hong@gmail.com'}
for e in k.values(): # value 값 출력
print(e) # 홍길동 # 30 # 제주 # hong@gmail.com
print("=" * 50)
k = {'name': '홍길동', 'age': 30, 'address': '제주', 'email': 'hong@gmail.com'}
for e in k.items(): # [(key, value), (key, value),...]
print(e) # (key, value) 형태의 튜플 출력
print("=" * 50) # ('name', '홍길동') # ('age', 30) # ('address', '제주') # ('email', 'hong@gmail.com')
k = {'name': '홍길동', 'age': 30, 'address': '제주', 'email': 'hong@gmail.com'}
for key, value in k.items(): # [(key, value), (key, value),...] ***
print(key, value) # 변수 동시 할당이 가능해서 이렇게 쓸 수 있는 것
print("=" * 50) # name 홍길동 # age 30 # address 제주 # email hong@gmail.com
for문의 집합형 데이터로 range() 함수를 사용할 수 있습니다. ==> 반복문의 반복 횟수가 중요할 때 사용합니다.
range(start, end)로 시작과 끝을 특정 값으로 규제할 수 있습니다. range(1, 10) => 1, 2, 3, 4, 5, 6, 7, 8, 9
range(start, end, step)로 시작과 끝, step을 지정할 수 있습니다. range(1, 10, 2) => 1, 3, 4, 7, 9
"""
range 함수 (*****) 횟수가 중요할 때 사용. ( # __builtins__의 함수 )
1) range(n) : n개의 집합형 데이터 생성
예> range(10 : 10개의 데이터, 0 ~ 9까지의 정수 값
2) range(start, end) : start 값부터 end값의 집합형 데이터 생성. ( start <= range < end )
3) range(start, end, step) : start 값부터 end 값까지 step 수 만큼 증가
"""
1. for문의 동작 횟수가 중요할 때 ==> range()를 사용합니다.
# for문 동작 횟수가 중요할 때 ==> range 함수 사용
for n in range(10):
print(n, end = " ") # 0 1 2 3 4 5 6 7 8 9 끝
print("끝")
for n in range(10, 20): # 10 11 12 13 14 15 16 17 18 19 끝
print(n, end=" ")
print("끝")
for n in range (1, 10, 2):
print(n, end=" ") # 1 3 5 7 9 끝
print("끝")
반목문을 사용하면서 2가지 키워드를 사용할 수 있습니다. ==> break문, continue문
1) break문 ==> 반복문을 빠져나옵니다.
2) continue문 ==> 반복 예정인 grouping된 문장 중 임의의 문장을 skip합니다.
"""
반복문에서 사용 가능한 2가지 키워드
1) break 문
=> 반복문 빠져나올 때 사용.
(기본적으로 반복문은 지정된 반복 횟수가 모두 끝나야 반복문을 빠져나오게 되지만
break 문을 만나면 반복 횟수와 무관하게 빠져나올 수 있다.)
2) continue 문
=> 반복 예정인 그룹핑된 문장 중 임의의 문장을 skip할 때
"""
1. 정상 종료된 반복문 (일반 for문)
# 1. 정상 반복 종료
for n in range(3):
print("Hello", n) # Hello 0 # Hello 1 # Hello 2
else:
print("정상종료") # 정상종료
print("end") # end
2. break문을 이용한 반복 종료
# 2. break문을 이용한 반복 종료
for n in range(3):
print("world", n) # world 0 # world 1 # world 2
if n == 2:
print("break문에 의한 종료") # break문에 의한 종료
break
else:
print("정상종료")
print("end") # end
3. continue문을 이용한 반복문
# 2. break문을 이용한 반복 종료
for n in range(3):
print("world", n) # world 0 # world 1 # world 2
if n == 2:
print("break문에 의한 종료") # break문에 의한 종료
break
else:
print("정상종료")
print("end") # end
for 반복문을 마치고 다음엔 List comprehension과 dict comprehension에 대해 알아보겠습니다.
그럼 이만~
'SK 행복성장캠퍼스 > Python 기초' 카테고리의 다른 글
0903_4일차_List/Dict Comprehension (0) | 2020.09.06 |
---|---|
0902_3일차_연습문제 (0) | 2020.09.06 |
0902_3일차_조건문 (0) | 2020.09.06 |
0902_3일차_딕셔너리 (0) | 2020.09.06 |
0902_3일차_셋 (0) | 2020.09.05 |
댓글