티스토리 뷰
728x90
코딩 테스트>> 반복을 사용할 때 while문, for문 둘 다 사용해도 상관 없지만, 코딩 테스트에서의 실제 사용 예시를 확인해보면, 대부분의 경우에서 for문의 소스코드가 더 짧은 경우가 많다.
while 문
예) 1부터 9까지 각 정수의 합을 계산하는 경우
i = 1
result = 0
while i <= 9:
result += i
i += 1
print(result) # 45
예) 1부터 9까지의 수 중에서 홀수만 더하는 경우
i = 1
result = 0
while i <= 9:
if i % 2 == 1:
result += i
i += 1
print(result) # 25
for 문
for 변수 in 리스트[튜플, 문자열 등 가능]:
실행할 소스
range(시작 값, 끝 값 + 1) ex. range(1, 10) → 1부터 9까지
예) 1부터 9까지 각 정수의 합을 계산하는 경우
result = 0
for i in range(1, 10):
result += i
print(result) # 45
range(숫자) ex. range(5) → 0부터 4까지
주로 리스트나 튜플 데이터의 모든 원소를 첫 번째 인덱스부터 방문해야 할 때 이 방법을 사용한다.
예) 학생의 번호를 1번부터 매긴다고 했을 때, 학생마다 합격 여부를 출력해야하는 경우
scores = [90, 85, 77, 65, 97]
fot i in range(5):
if scores[i] >= 80:
print(i + 1, "번 학생은 합격입니다.")
for문 거꾸로 반복하기
range(시작값, 끝 값 - 1, -1) ex. range(10, 1, -1) → 10부터 2까지
continue
반복문 안에서 continue를 만나면 프로그램의 흐름은 반복문의 처음으로 돌아간다.
예) 위의 예제에서 2번 학생과 4번 학생은 블랙리스트에 올라가 있어서 점수가 높아도 합격하지 못하는 경우
scores = [90, 85, 77, 65, 97]
black_list = {2, 4}
fot i in range(5):
if i + 1 in black_list:
continue
if scores[i] >= 80:
print(i + 1, "번 학생은 합격입니다.")
반복문의 중첩
예) 구구단
for i in range(2, 10):
for j in range(1, 10):
print(i, "X", j, "=", i * j)
print()
728x90
'Python' 카테고리의 다른 글
[Python] 입출력 - input(), print() (0) | 2020.10.24 |
---|---|
[Python] 함수 (function) (0) | 2020.10.23 |
[Python] Set (집합) (0) | 2020.10.21 |
[Python] 주석 - 한줄 주석, 여러줄 주석 (0) | 2020.10.21 |
[Python] 딕셔너리 (dictionary, 사전 자료형) (0) | 2020.10.21 |
댓글
공지사항
최근에 올라온 글