while
은 언뜻 보면 if
와 비슷해 보인다. 하지만 while
은 조건이 충족되는 한 반복해서 지정된 행동을 수행한다는 것에서 차이가 있다.my_money = 10
while my_money != 0 : # my_money가 0이 아닐 경우
print('paid') # 'paid'를 출력하고
my_money = my_money - 1 # my_money에서 1을 빼고
print('Account balance : ' + '$' + str(my_money)) # 지정한 문자열을 출력
# 결과
paid
Account balance : $9
paid
Account balance : $8
paid
Account balance : $7
paid
Account balance : $6
paid
Account balance : $5
paid
Account balance : $4
paid
Account balance : $3
paid
Account balance : $2
paid
Account balance : $1
paid
Account balance : $0
while
문에도 if
와 else
를 추가하여 부가 조건을 부여할 수 있다.my_money = 100
while my_money > 0 : # my_money가 0보다 클 경우
print('paid') # 'paid'를 출력하고
if my_money > 20 : # my_money가 20보다 클 경우에는
my_money = my_money - 10 # my_money에서 10을 빼고
print('Account balance : ' + '$' + str(my_money)) # 지정한 문자열을 출력
elif my_money - 7 < 0 : # (my_money - 7)이 0보다 작을 경우에는
my_money = my_money - my_money # my_money에서 my_money를 빼고
print('Account balance : ' + '$' + str(my_money)) # 지정한 문자열을 출력
else : # 그 외의 경우에는(my_money가 20보다 작고 7보다 큰 경우)
my_money = my_money - 7 # my_money에서 7을 빼고
print('Account balance : ' + '$' + str(my_money)) # 지정한 문자열을 출력
# 결과
paid
Account balance : $90
paid
Account balance : $80
paid
Account balance : $70
paid
Account balance : $60
paid
Account balance : $50
paid
Account balance : $40
paid
Account balance : $30
paid
Account balance : $20
paid
Account balance : $13
paid
Account balance : $6
paid
Account balance : $0
while
뿐만 아니라 for
도 존재한다.for
를 사용할 수 있다.food = ['apple', 'melon', 'pizza', 'orange']
for food in food :
print(food)
# 결과
apple
melon
pizza
orange
반복문을 사용하지 않는다면 print(food[0]); print(food[1]) ...
같이 일일히 적어야한다.
또한 enumerate()
를 활용하여 항목의 index도 함께 불러올 수 있다.
food = ['apple', 'melon', 'pizza', 'orange']
for index, food in enumerate(food) :
print('food ' + str(index) + ' : ' + food)
# 결과
food 0 : apple
food 1 : melon
food 2 : pizza
food 3 : orange
for
로 반복이 가능하다.food = [['apple', 500],
['melon', 700],
['pizza', 1000],
['orange', 600]]
for name, price in food :
print(name + ' : ' + '$' + str(price))
# 결과
apple : $500
melon : $700
pizza : $1000
orange : $600