개발자 하고 싶다!!!

1. 공부한 내용

 1) 반복문을 이용해서 컨테이너를 다루는 방법 숙지 (중복 삭제)

 2) while 보다 좀 더 간결하게 표현 가능한 for in 코드를 활용한 반복문 작성 방법 숙지

 3) for문 응용 활용법 숙지


2. 실습 내용 

 입력 코드

결과 

 설명

members = ['SDM', 'Single', 'Seoul']

print(members[0])

print(members[1])

print(members[2])

SDM

Single

Seoul

단순 컨테이너의 원소값을 Index 순서대로 반복 출력함

반복되는 코드가 3개를 아래와 같이 반복문을 통해 중복 삭제 가능

members = ['SDM', 'Single', 'Seoul']

i = 0

while i < len(members):

    print(members[i])

    i = i + 1

SDM

Single

Seoul

출력 결과는 상기의 코드와 같으나 코드 자체가 간결해짐

< len(members) >를 통해 members 라는 컨테이너에 들어간

원소 갯수에 맞춰 원소값을 모두 출력


이 경우 list의 원소값이 3개고 i가 원소값보다 작을 때 True 이기 때문에,

0~2까지의 index가 출력됨 (i = i + 1)

즉, 저 상태로 list에 원소값을 추가/수정하는 것으로 출력값에 반영됨!

members = ['SDM', 'Single', 'Seoul']

for member in members:

    print(member)

SDM

Single

Seoul

for in문을 통해 members 라는 list(컨테이너) 안의 원소값을 

순서대로 반복하여 출력함


즉, for 뒤에는 해당 list의 원소값을 꺼낼 변수를 지정 후 뒤에 list가 옴

 -> for 변수값 in list(컨테이너) = for member in members


따라서 for in문 뒤에 오는 <print(member)>에는 members의 원소값이 담겨서 순서대로 반복되어 출력


* 위의 while 코드와 결과값은 같으나 작성된 코드가 간결하며 다른 코드에 영향 받을 가능성이 적음

for item in range(5, 11):

    print(item)

5

6

7

8

9

10

range는 반복 범위를 지정하는 코드이며 5, 11인 경우 

5부터 6번(11) 실행되면서

<item>이라는 변수에 담겨 5,6,7,8,9,10의 숫자가 출력됨


만약 <print(item)> 부분을 <print(hello)>로 수정하면,

hello가 6번 반복 출력됨

input_id=input("아이디를 입력해주세요. \n")

ids = ['har', 'space', 'SDM']

for id in ids:

    if id == input_id:

        print('Hello!, ' +id)

        import sys

        sys.exit()

print('who are you?')

아이디를 입력해주세요

(입력) har

(출력) Hello!, har


(입력) space

(출력) Hello!, space


(입력) SDM

(출력) Hello!, SDM


(입력) adsahkdasjdlk

(출력) who are you?

전제 1) ids 라는 list에 3개의 id가 존재함

전제 2) <for id in ids:> 코드를 통해 ids의 list 갯수만큼 3번 반복됨

전제 3) for문 안에 if 조건문 <if id == input+id:> 추가하여

          입력한 id(input_id)가 id(ids의 각 3개의 원소)와 True일 때,

          if문 안에 적은 <print("Hello!, ' +id)> 가 출력됨

          이후 <import sys, sys.exit()>를 통해 for 반복문 종료

전제 4) if문이 False면 if문 밖에 있는 <print('who are you?')>가 출력됨


* 단순히 코드를 작성하는 게 아닌, 위와 같이 풀어서 생각하는 게 중요!


3. 응용 내용

 기존 코드

학습 응용 코드 

 결과

 설명

i = 0

while i < 10:

    print('print("Hello world '+str(i*9)+'")')

    i = i + 1

for i in range(10):

    print('print("Hello world '+str(i*9)+'")')

print("Hello world 0")

print("Hello world 9")

print("Hello world 18")

print("Hello world 27")

print("Hello world 36")

기존에 while 반복문으로 작성한 것을

for문을 통해 좀 더 간결하게 작성함


결과는 완전 동일하나 입력 코드는 

네 줄에서 두 줄로 많이 줄어듬!!!


4. 의미/중요한 부분

 1) 이번 시간을 통해 좀 더 반복문과 컨테이너 개념의 이해를 높힐 수 있었던 거 같음!

 2) for문은 while문과 대비하여 반복해야 하는 횟수 변수(while의 i)를 별도로 지정하지 않아도, range로도 해결 가능함. 고로 다른 코드에 영향 받을 가능성이 낮음!

 3) for <변수명> in <변수에 들어갈 내용(range 혹은 list)>를 꼭 기억하자! for는 in 뒤에 들어가는 list의 갯수 또는 range 범위에 따라 반복 횟수가 정해짐

 4) for문은 별도의 반복 중지<import sys, sys.exit()>를 넣어주지 않으면 반복이 계속됨 (...맞나?)


5. 궁금점/감상

 1) 기존에 배운 코드를 이번에 배운 코드로 바꿔서 응용해보니 신기하기도 하고... 앞으로 이런 응용 학습을 자주 해야 겠다고 생각함

'1_Python' 카테고리의 다른 글

13. 모듈 (Module)  (0) 2019.01.12
12. 함수  (0) 2019.01.06
10. 반복문  (0) 2018.12.15
9. 컨테이너 (Container)  (0) 2018.12.15
8. 주석  (0) 2018.11.17