Author: Asabeneh Yetayeh
Second Edition: July, 2021
π Day 10
Loops
μΈμμ μΌμμΌλ‘ κ°λ μ°¨ μμ΅λλ€. νλ‘κ·Έλλ°μμ μ°λ¦¬λ λν λ§μ λ°λ³΅ μμ μ μνν©λλ€. λ°λ³΅ μμ μ μ²λ¦¬νκΈ° μν΄ νλ‘κ·Έλλ° μΈμ΄λ 루νλ₯Ό μ¬μ©ν©λλ€. Python νλ‘κ·Έλλ° μΈμ΄λ λν λ€μ μ νμ λ 루νλ₯Ό μ 곡ν©λλ€.
- while loop
- for loop
While 루ν
μ°λ¦¬λ while 루νλ₯Ό λ§λ€κΈ° μν΄ μμ½μ΄ while μ μ¬μ©ν©λλ€. μ£Όμ΄μ§ μ‘°κ±΄μ΄ λ§μ‘±λ λκΉμ§ λ¬Έ λΈλ‘μ λ°λ³΅μ μΌλ‘ μ€ννλ λ° μ¬μ©λ©λλ€. μ‘°κ±΄μ΄ κ±°μ§μ΄ λλ©΄ 루ν λ€μ μ½λ νμ΄ κ³μ μ€νλ©λλ€.
μμ:
μμ while 루νμμ countκ° 5μΌ λ μ‘°κ±΄μ΄ falseκ° λ©λλ€. μ΄λ 루νκ° μ€μ§λ©λλ€. μ‘°κ±΄μ΄ λ μ΄μ μ°Έμ΄ μλ λ μ½λ λΈλ‘μ μ€ννκ³ μΆλ€λ©΄ else λ₯Ό μ¬μ©ν μ μμ΅λλ€.
μμ:
μμ 루ν 쑰건μ countκ° 5μ΄κ³ 루νκ° μ€μ§λκ³ μ€νμ΄ else λ¬Έμ μμνλ©΄ κ±°μ§μ΄ λ©λλ€. κ²°κ³Όμ μΌλ‘ 5κ° μΈμλ©λλ€.
Break κ³Ό Continue - Part 1
- μ€λ¨: 루νμμ λ²μ΄λκ±°λ μ€λ¨νκ³ μΆμ λ μ€λ¨μ μ¬μ©ν©λλ€.
μμ:
μμ while 루νλ 0, 1, 2λ§ μΈμνμ§λ§ 3μ λλ¬νλ©΄ μ€μ§ν©λλ€.
- κ³μ: continue λ¬Έμ μ¬μ©νλ©΄ νμ¬ λ°λ³΅μ 건λλ°κ³ λ€μμ κ³μν μ μμ΅λλ€.
μμ:
μμ while 루νλ 0, 1, 2 λ° 4λ§ μΈμν©λλ€(3μ 건λλλλ€).
For 루ν
for ν€μλλ λ€λ₯Έ νλ‘κ·Έλλ° μΈμ΄μ μ μ¬νμ§λ§ κ΅¬λ¬Έμ΄ μ½κ° λ€λ₯Έ for 루νλ₯Ό λ§λλ λ° μ¬μ©λ©λλ€. 루νλ μνμ€(μ¦, λͺ©λ‘, νν, μ¬μ , μ§ν© λλ λ¬Έμμ΄)λ₯Ό λ°λ³΅νλ λ° μ¬μ©λ©λλ€.
- For loop with list
μμ:
numbers = [0, 1, 2, 3, 4, 5]
for number in numbers: # number is temporary name to refer to the list's items, valid only inside this loop
print(number) # the numbers will be printed line by line, from 0 to 5
- For loop with string
μμ:
language = 'Python'
for letter in language:
print(letter)
for i in range(len(language)):
print(language[i])
- For loop with tuple
μμ:
- μ¬μ μ μ¬μ©ν For 루ν μ¬μ μ ν΅ν 루νλ μ¬μ μ ν€λ₯Ό μ 곡ν©λλ€.
μμ:
person = {
'first_name':'Asabeneh',
'last_name':'Yetayeh',
'age':250,
'country':'Finland',
'is_marred':True,
'skills':['JavaScript', 'React', 'Node', 'MongoDB', 'Python'],
'address':{
'street':'Space street',
'zipcode':'02210'
}
}
for key in person:
print(key)
for key, value in person.items():
print(key, value) # this way we get both keys and values printed out
- Loops in set
μμ:
it_companies = {'Facebook', 'Google', 'Microsoft', 'Apple', 'IBM', 'Oracle', 'Amazon'}
for company in it_companies:
print(company)
Break κ³Ό Continue - Part 2
짧μ μλ¦Ό: μ€λ¨ : 루νκ° μλ£λκΈ° μ μ μ€λ¨νκ³ μΆμ λ μ€λ¨μ μ¬μ©ν©λλ€.
μμ:
μμ μμμ 루νλ 3μ λλ¬νλ©΄ μ€μ§λ©λλ€.
κ³μ: 루ν λ°λ³΅μμ μΌλΆ λ¨κ³λ₯Ό 건λλ°κ³ μΆμ λ κ³μμ μ¬μ©ν©λλ€.
μμ:
numbers = (0,1,2,3,4,5)
for number in numbers:
print(number)
if number == 3:
continue
print('Next number should be ', number + 1) if number != 5 else print("loop's end") # for short hand conditions need both if and else statements
print('outside the loop')
μμ μμμ μ«μκ° 3μ΄λ©΄ 쑰건 λ€μ λ¨κ³(루ν λ΄λΆ)λ₯Ό 건λλ°κ³ λ°λ³΅μ΄ λ¨μ μμΌλ©΄ 루ν μ€νμ΄ κ³μλ©λλ€.
λ²μ κΈ°λ₯
range() ν¨μλ μ«μ λͺ©λ‘μ μ¬μ©λ©λλ€. λ²μ(μμ, λ, λ¨κ³) λ μμ, μ’ λ£ λ° μ¦λΆμ μΈ κ°μ§ 맀κ°λ³μλ₯Ό μ¬μ©ν©λλ€. κΈ°λ³Έμ μΌλ‘ 0λΆν° μμνκ³ μ¦λΆμ 1μ λλ€. λ²μ μνμ€μλ μ΅μ 1κ°μ μΈμ(μ’ λ£)κ° νμν©λλ€. λ²μλ₯Ό μ¬μ©νμ¬ μνμ€ λ§λ€κΈ°
lst = list(range(11))
print(lst) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
st = set(range(1, 11)) # 2 arguments indicate start and end of the sequence, step set to default 1
print(st) # {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
lst = list(range(0,11,2))
print(lst) # [0, 2, 4, 6, 8, 10]
st = set(range(0,11,2))
print(st) # {0, 2, 4, 6, 8, 10}
μμ:
μ€μ²© For 루ν
루ν μμ 루νλ₯Ό μμ±ν μ μμ΅λλ€.
μμ:
person = {
'first_name': 'Asabeneh',
'last_name': 'Yetayeh',
'age': 250,
'country': 'Finland',
'is_marred': True,
'skills': ['JavaScript', 'React', 'Node', 'MongoDB', 'Python'],
'address': {
'street': 'Space street',
'zipcode': '02210'
}
}
for key in person:
if key == 'skills':
for skill in person['skills']:
print(skill)
For Else
루νκ° λλ λ λ©μμ§λ₯Ό μ€ννλ €λ©΄ elseλ₯Ό μ¬μ©ν©λλ€.
μμ:
for number in range(11):
print(number) # prints 0 to 10, not including 11
else:
print('The loop stops at', number)
Pass
Pythonμμ when λ¬Έμ΄ νμνμ§λ§(μΈλ―Έμ½λ‘ λ€μ) μ½λλ₯Ό μ€ννλ κ²μ μ’μνμ§ μμΌλ―λ‘ μ€λ₯λ₯Ό νΌνκΈ° μν΄ pass λΌλ λ¨μ΄λ₯Ό μΈ μ μμ΅λλ€. λν ν₯ν μ§μ μ μν΄ μ리 νμμλ‘ μ¬μ©ν μ μμ΅λλ€.
μμ:
π λΉμ μ ν° μ΄μ νλ₯Ό μΈμ κ³ , λΉμ μ λ©μΆ μ μμ΅λλ€. κ³μνμΈμ! 10μΌμ°¨ μ±λ¦°μ§λ₯Ό λ°©κΈ μλ£νμΌλ©° μλν¨μ ν₯ν 10λ¨κ³λ₯Ό μλκ³ μμ΅λλ€. μ΄μ λμ κ·Όμ‘μ μν λͺ κ°μ§ μ΄λμ νμμμ€.
π» Exercises: Day 10
Exercises: Level 1
-
for 루νλ₯Ό μ¬μ©νμ¬ 0μμ 10κΉμ§ λ°λ³΅νκ³ while 루νλ₯Ό μ¬μ©νμ¬ λμΌν μμ μ μνν©λλ€.
-
for 루νλ₯Ό μ¬μ©νμ¬ 10μμ 0κΉμ§ λ°λ³΅νκ³ while 루νλ₯Ό μ¬μ©νμ¬ λμΌν μμ μ μνν©λλ€.
-
print()λ₯Ό 7λ² νΈμΆνλ 루νλ₯Ό μμ±νμ¬ λ€μ μΌκ°νμ μΆλ ₯ν©λλ€.
-
μ€μ²© 루νλ₯Ό μ¬μ©νμ¬ λ€μμ λ§λλλ€.
-
λ€μ ν¨ν΄μ μΈμν©λλ€.
-
for 루νλ₯Ό μ¬μ©νμ¬ ['Python', 'Numpy','Pandas','Django', 'Flask'] λͺ©λ‘μ λ°λ³΅νκ³ νλͺ©μ μΆλ ₯ν©λλ€.
-
for 루νλ₯Ό μ¬μ©νμ¬ 0μμ 100κΉμ§ λ°λ³΅νκ³ μ§μλ§ μΆλ ₯
-
for 루νλ₯Ό μ¬μ©νμ¬ 0μμ 100κΉμ§ λ°λ³΅νκ³ νμλ§ μΆλ ₯
Exercises: Level 2
- for 루νλ₯Ό μ¬μ©νμ¬ 0μμ 100κΉμ§ λ°λ³΅νκ³ λͺ¨λ μ«μμ ν©κ³λ₯Ό μΈμν©λλ€.
-
for 루νλ₯Ό μ¬μ©νμ¬ 0μμ 100κΉμ§ λ°λ³΅νκ³ λͺ¨λ μ§μμ ν©κ³Ό λͺ¨λ μΉμ°μ ν©μ μΈμν©λλ€.
Exercises: Level 3
- λ°μ΄ν° ν΄λλ‘ μ΄λνμ¬ countries.py νμΌμ μ¬μ©ν©λλ€. κ΅κ°λ₯Ό μννκ³ λ¨μ΄ land λ₯Ό ν¬ν¨νλ λͺ¨λ κ΅κ°λ₯Ό μΆμΆν©λλ€.
- μ΄κ²μ κ³ΌμΌ λͺ©λ‘μ λλ€. ['banana', 'orange', 'mango', 'lemon'] 루νλ₯Ό μ¬μ©νμ¬ μμλ₯Ό λ€μ§μ΅λλ€.
- λ°μ΄ν° ν΄λλ‘ μ΄λνμ¬ countries_data.py νμΌμ μ¬μ©ν©λλ€.
- λ°μ΄ν°μ μ΄ μΈμ΄ μλ μΌλ§μ λκΉ?
- λ°μ΄ν°μμ κ°μ₯ λ§μ΄ μ¬μ©λλ 10κ° μΈμ΄ μ°ΎκΈ°
- μΈκ³μμ μΈκ΅¬κ° κ°μ₯ λ§μ 10κ° κ΅κ° μ°ΎκΈ°
π μΆνν©λλ€! π