Note/Python
03.for/while 반복문 (2)
HanJW96
2023. 2. 10. 15:22
- while문은 조건이 만족하는 동안 반복을 수행했지만, for문은 지정 횟수동안 반복을 수행한다.여기서 지정된 횟수라는 것은 반복 대상의 크기가 된다.
- 보통 iterable object(반복 가능한 객체)를 대상으로 수행되며, 연속형 데이터 타입 변수들이 여기에 해당된다.List, Tuple, string, ...
- for 변수 in 리스트(튜플, 문자열, iterator):
- 리스트(나 반복가능한 변수들)의 모든 원소를 (자동으로 끝까지) 반복한다.
s = "Hello"
for i in s:
print(i)
s에 Hello 문자열을 넣고
원소들을 끝까지 반복

L = 1
while L<4 :
print(L)
L = L+1
처음 L은 1
L이 4보다 작은 동안 L을 출력 후 L에다가 1을 더한다.

커피 리스트 출력해보기
여기서 for 뒤에있는 coffee는 단순히 변수의 이름이기 때문에 무엇이 들어가도 상관이 없다.
for문의 단짝 range() 함수
- for문은 특정 횟수동안 반복을 하기 때문에, 횟수를 자동으로 만들어주는 기능이 있으면 좋다.
- 파이썬에서 기본적으로 제공하는 range 함수는 특정 숫자 범위내의 값들을 자동으로 생성해주는 함수이다.
e.g. range(1, 5)는 1, 2, 3, 4를 차례대로 생성해준다. (5는 범위에서 제외된다. 즉, 마지막 숫자는 제외된다. 1 <= x < 5)
Q)
6개의 커피 음료와 음료의 가격이 담긴 리스트가 있다. 가지고 있는 돈이 5,000원일 때 먹을 수 있는 모든 음료를 찾아보자!
for i in range(6): #0부터 시작이기 때문에 0,1,2,3,4,5
if prices[i] <= 5000:
print(coffees[i])
만약 프라이스 리스트에 i번째 인덱스가 5000원보다 작다면 coffees의 i번째 인덱스를 출력하는 함수.
for 문과 range()를 활용해 반복.
Q)
RE : 6개의 커피 음료와 음료의 가격이 담긴 리스트가 있다. 오늘은 할인 행사를 하여 모든 음료가 500원 할인 되었다!
가지고 있는 돈이 5,000원일 때 먹을 수 있는 모든 음료를 찾아보자!
for i in range(6):
if prices[i] <= 5000:
print(coffees[i])
똑같이 적은 후 추가로 생긴 조건 고민해보기
할인행사를 하여 500원 할인
for i in range(6):
if prices[i]-500 <= 5000:
print(coffees[i])
음료 가격중 500원을 뺏을 때 5000원보다 작거나 같은 음료 이름을 출력
discount = 500
for i in range(len(coffees)):
if prices[i] - discount <= 5000:
print(coffees[i])
할인이 바뀔 때 마다를 생각해 할인 변수를 따로 생성
여기서len(coffees)는 coffees 리스트의 길이기 때문에 6과 똑같음 .
# 2. enumerate를 사용하는 방법
for i, price in enumerate(prices):
if price - 500 <= 5000:
print(coffees[i])
enumerate함수는 입력으로 받은 데이터와 인덱스 값을 포함하는 enumerate 객체를 리턴