TIL_82. Intermediate Python(4)

12182 단어 datacamppythonTILTIL

2021. 03. 06 토요일

Intermediate Python

Loops

while

  • 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

Add conditionals

  • while 문에도 ifelse 를 추가하여 부가 조건을 부여할 수 있다.
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

Loop over a list

  • 반복문의 종류로는 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

좋은 웹페이지 즐겨찾기