5 분 소요

PYTHON PROGRAMMING FUNDAMENTALS

우리가 배울것 : 반복문 - Loop

  • For Loops
  • Break a loop
  • Continue statement
  • Range
  • While Loops
  • Nested loops
  • List Comprehension

실행 순서에 대한 문법을 배웁시다.

my_list = [11, 222, 30,44]
print(my_list[0])
print(my_list[1])
print(my_list[2])
print(my_list[3])
11
222
30
44
#데이터 스트럭쳐에 들어있는 데이터를 하나씩 가져와서
#무엇인가 작업을 하고 싶을때 사용하는 키워드 : for
my_dict = {3:2},{4:3}
for data in my_list :
    print(data-3)
8
219
27
41
score_list = [98, 45, 77, 64, 56]
for score in score_list :
    print (score)
98
45
77
64
56

스코어 리스트에 있는 점수는, 잘못매긴 점수다.

        # 따라서 5점씩 뺀 점수로 출력하시오.
for score in score_list :
    print(score - 5)
93
40
72
59
51
# 5점씩 뺀 점수를, 새로운 리스트 new_score_list 에 저장하세요.
new_score_list = []
for score in score_list :
    new_score_list.append(score-5)
print(new_score_list)
[93, 40, 72, 59, 51]

FOR LOOPS

  • 영어가 설명이 정확합니다. For loops are used for iterating over a sequence (a list, a tuple, a dictionary, a set, or a string).

  • 한번에 하나의 항목만 가져와서, 원하는 대로 처리합니다.

문자열 데이터를 루프 돌면서 처리한다.

sentence = 'Hello World~'
for x in sentence:
    print(x)
H
e
l
l
o
 
W
o
r
l
d
~

리스트를 루프 돈다.

fruits =['apple','blueberries','mango','watermelon']
#리스트의 데이터를, 전부 대문자로 바꿔서 출력하세요.
for fruit in fruits:
     print(fruit.upper())
APPLE
BLUEBERRIES
MANGO
WATERMELON
type(fruit)
str

리스트의 인덱스값과, 매칭되어 저장되어있은 값을 함께 출력

fruits
['apple', 'blueberries', 'mango', 'watermelon']
for index, fruit in enumerate(fruits) :
    print(index, fruit)
0 apple
1 blueberries
2 mango
3 watermelon

딕셔너리 데이터를 for 루프 : key

my_phone = {'brand':'apple', 'model' : 'iphone 12','color':'red','year':2021 }
for data in my_phone :
    print(data)
brand
model
color
year

딕셔너리 value 값을 for 루프

for data in my_phone.values() :
    print(data)
apple
iphone 12
red
2021

키 밸류를 튜플 로 프린트

for item in my_phone.items():
        print(item)
('brand', 'apple')
('model', 'iphone 12')
('color', 'red')
('year', 2021)

키, 밸류 값을 각각 가져와서 원하는 처리를 함

for key,value in my_phone.items() :
    print(key,value)
brand apple
model iphone 12
color red
year 2021

결론은? 데이터가 나열되어 있는 것들(리스트 등등)은, for 를 통해 쉽게 원하는 값을 가져올 수 있다.

BREAK A LOOP/CONTINUE

코드 실행 순서를 바꿔보자

  • 자신을 감싸고 있는 루프의 { } 괄호를 벗어난다. break() is used to exit a for loop or a while loop
  • 루프의 처음 조건으로 돌아간다. continue() is used to skip the current block, and return to the “for” or “while” statement.

누가????? 코드의 실행 순서가!!!!!!!!!!!!! 바뀐다!!!!!!!!!!!!!!!!!!!!!!!!!

fruits
['apple', 'blueberries', 'mango', 'watermelon']
# furits안에 있는 과일 이름을 하나씩 출력하되, 
#mango가 나오면, 반복을 멈추고 끝낸다.
for fruit in fruits :
    print(fruit)
    if fruit == 'mango' :
        print("hello")
        break
        print('bye')
print('nice')
apple
blueberries
mango
hello
nice

RANGE 함수

  • range() 함수는, 숫자 리스트를 만들어 준다.
  • range() 함수는, 인덱스가 0 부터 시작한다.
  • 레인지의 괄호 안에 적는 숫자 갯수만큼 만든다.
  • Example: range(0, 10) generates integers from 0 up to, but not including, 10.

지정한 범위안에 들어 있는 정수 리스트를 만들어준다.

0 부터 9까지 정수를 만들어준다

a = list(range(10))
a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# [0,1,2,3,4]
range(5)
range(0, 5)
# 3부터 9까지의 정수를 만든다.
list(range(3,10))
[3, 4, 5, 6, 7, 8, 9]
# 2부터 10까지 짝수 만든다.
range(2,11)
range(2, 11)
list(range(2,11,2))
[2, 4, 6, 8, 10]
# hello를 23번 출력
for hello in range(7):
    print("hello")
hello
hello
hello
hello
hello
hello
hello

WHILE LOOPS

  • While loop 는, 조건식을 만족하는 동안, 자신이 포함하는 문장들을 실행한다.
#초기값
#증가하거나 감소하는 값이 있어야한다.
# hello를 7번 출력하세요
a = 0
while a < 7 :
    print('hello')
    a = a+1
hello
hello
hello
hello
hello
hello
hello

Infinite Loop : 무한루프

  • 롯데리아에서 키오스크로 햄버거 주문할때, 유저가 버튼 누를때까지 화면은 계속 나오고 있다.

  • 게임이 시작되고 나면, 유저가 화장실을 갔다와도 게임은 계속 진행되고 있다.

#유저한테 문장을 입력받는다.
#해당 문장을 화면에 출력한다.
#"그만" 이라는 글자를 입력할때까지, 유저한테 입력받은 문장을 
#화면에 출력한다.
while True:
    sentence = (input("문장을 입력해주세요"))
    if sentence == "그만":
        break
    print(sentence)
문장을 입력해주세요f
f
문장을 입력해주세요0
0
문장을 입력해주세요03
03
문장을 입력해주세요3030
3030
문장을 입력해주세요303333333333333
303333333333333
문장을 입력해주세요그만

NESTED LOOPS

  • 루프 안애 또 루프가 들어가는 경우.
for x in range(2,10):
    for y in range(1,9):
        print("{} X {} = {}".format(x,y,x*y))
    print('---------------')    
2 X 1 = 2
2 X 2 = 4
2 X 3 = 6
2 X 4 = 8
2 X 5 = 10
2 X 6 = 12
2 X 7 = 14
2 X 8 = 16
---------------
3 X 1 = 3
3 X 2 = 6
3 X 3 = 9
3 X 4 = 12
3 X 5 = 15
3 X 6 = 18
3 X 7 = 21
3 X 8 = 24
---------------
4 X 1 = 4
4 X 2 = 8
4 X 3 = 12
4 X 4 = 16
4 X 5 = 20
4 X 6 = 24
4 X 7 = 28
4 X 8 = 32
---------------
5 X 1 = 5
5 X 2 = 10
5 X 3 = 15
5 X 4 = 20
5 X 5 = 25
5 X 6 = 30
5 X 7 = 35
5 X 8 = 40
---------------
6 X 1 = 6
6 X 2 = 12
6 X 3 = 18
6 X 4 = 24
6 X 5 = 30
6 X 6 = 36
6 X 7 = 42
6 X 8 = 48
---------------
7 X 1 = 7
7 X 2 = 14
7 X 3 = 21
7 X 4 = 28
7 X 5 = 35
7 X 6 = 42
7 X 7 = 49
7 X 8 = 56
---------------
8 X 1 = 8
8 X 2 = 16
8 X 3 = 24
8 X 4 = 32
8 X 5 = 40
8 X 6 = 48
8 X 7 = 56
8 X 8 = 64
---------------
9 X 1 = 9
9 X 2 = 18
9 X 3 = 27
9 X 4 = 36
9 X 5 = 45
9 X 6 = 54
9 X 7 = 63
9 X 8 = 72
---------------

LIST COMPREHENSION

  • 원본 리스트를 가지고, 다른 리스트를 만드는 방법
  • for 나 while 없이, loop 를 실행시키는 아름다운 방법

문법을 잘 봅시다.

my_list = [1,2,3,4,5]
# 이 리스트를 제곱한 값으로, new_list 를 만드세요
new_list = []
for i in my_list:
    new_list.append(i**2) 
new_list
[1, 4, 9, 16, 25]
new_list = [ i**2 for i in my_list]
new_list
[1, 4, 9, 16, 25]
my_list = [1,2,3,4,5,6,7,8,9,10]
new_list = []
for i in my_list :
    if i % 2 == 0:
        new_list.append(i**2)
new_list
[4, 16, 36, 64, 100]

댓글남기기