나는 이렇게 학습한다/Language

김왼손의 왼손코딩 #for, range(), for x 2, 컴프리헨션

daco2020 2021. 7. 17. 18:16
반응형

 오늘 배운 것 

 

<for>

반복되는 것을 처리하는 것이 컴퓨터의 주특기 (빠르고 정확)

=> 그래서 반복문을 쓴다. 

2가지 방법

1) for

2) while

 

for 문법

'컨테이너' 안에 있는 리스트 들이 순서대로 '변수'에 들어가고 '실행할 명령'을 수행하게 된다. (반복)

'실행할 명령' 은 꼭 띄어쓰기를 해야한다. (파이썬에서는 꼭 해주어야 한다!) 

> 띄어쓰기를 할 때는 모든 명령들이 동일한 띄어쓰기를 적용해야 한다. ex. 탭으로 했으면 다 탭, 띄어쓰기로 했으면 다 띄어쓰기(동일한 수 띄어쓰기)

*권장사항 - 제작자는 띄어쓰기 4칸을 권장한다.

 

ex.

for animal in animals:

    print(animal)

>>> ((animals 안에 있던 리스트가 차례대로 모두 출력(한 번에 출력되는게 아닌 차례대로 출력)))

 

<range()>

만약 리스트에 넣을 값의 수가 많다면? range 라는 내장함수를 이용하면 쉽게 할 수 있다

ex.

range(0, 3) 

>>> 0부터 3미만 까지 범위를 모두 갖는다.

range(3)

>>> 3미만 까지 모두 (숫자를 하나만 사용할 경우 그 미만까지 모두 포함한다)

 

 

 

<컴프리헨션(Comprehension)>

com·pre·hen·sion
1. 이해력2. (언어) 이해력 연습

numbers = [1,2,3,4,5,6,7,8,9,10]

odd_numbers = []

#*odd : 홀수
for number in numbers:

    if number % 2 == 1:

        odd_numbers.append(number)

print(odd_numbes)


# *% : 나누기

# *=의 쓰임(할당) >> 오른쪽에 있는 것을 왼쪽에 할당
# *==의 쓰임(비교) >> 두 값을 비교하여 일치하면 true, 일치하지 않으면 false 로 노출

> 이걸 더 간결하게 줄이는 것이 바로 컴프리헨션

odd_numbers = [number for number in numbers if number % 2 == 1]

print(odd_numbers)

강의에서는 정확히 설명하지 않고 보여주고만 넘어감.

 

 

<for x 2> (중첩 for문)

for를 중첩하여 사용할 수 있다. (들여쓰기 유의할 것)

ex. 구구단 출력하기

 

 

 


 

 오늘 느낀 것 

for문을 중첩하여 구구단을 만들때는 놀라웠다..!

 

파이썬을 숙달할 수 있는 과제같은게 있으면 좋겠음.

검색해보니 맙소사..! 딱 좋은게 있었음;;; 확실히 코딩은 수요와 공급이 많구나 실감함.

지금 내 수준과도 딱 맞아떨어져서 반복해서 풀어봐야겠음.

하루에 10개씩 하면 30일만에 끝낼 수 있음. 

 

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

 

반응형