Data Analysis

[ Python ] 반복문

곽수진 2021. 8. 31. 13:34
반응형

while 조건식

주어진 조건이 참일 동안 계속 반복 수행

 

▶️ 1초동안 멈췄다가 실행하는 time.sleep() 함수를 이용하기 위해 먼저 time 모듈을 import 해줌

 

 

▶️ happy = 0 : happy 변수의 초기값을 0으로 지정

▶️ while happy<3 : happy 변수의 값이 3 이하가 될때까지 계속 반복

▶️ happy += 1 : 반복문이 진행될 때마다 하나씩 더해나감

▶️ time.sleep(1) : '기분이 좋아지는 중이에요.'를 1초씩 쉬면서 출력함

▶️ happy 변수의 값이 3이 되면 '기분이 최고 상태에요!'를 출력하고 반복문이 종료됨

 

 

▶️ treeHit = 0 : treeHit 변수의 초기값을 0으로 지정

▶️ while treeHit<3 : treeHit 변수의 값이 3이하가 될 때까지 계속 반복

▶️ treeHit += 1 : 반복문이 진행될 때마다 하나씩 더해나감

▶️ time.sleep(1) : '나무를 treeHit 변수만큼 찍었습니다.'를 1초씩 쉬면서 출력함

▶️ treeHit 변수의 값이 3이 되면 '나무 넘어갑니다'를 출력하고 반복문이 종료됨

 

 

for 변수 in 반복범위:

반복범위 안에서 계속 수행

 

in + 변수 → 순회 가능(iterable)

하나씩 돌아가면서 순서대로 뽑음

 

 

▶️ students 리스트에 저장된 0번 인덱스부터 2번 인덱스까지 순서대로 출력

 

 

Range

range(시작값, 멈춤값(해당 숫자 앞까지), 앞 뒤 값의 차이)

⇒ for에서 반복범위에 리스트, 튜플, 문자열 형태를 사용할 수 있고, range도 쓸 수 있음

 

 

▶️ i 변수에 0부터 두 번 반복해 출력하므로 0과 1이 출력

 

 

▶️ i 변수에 0부터 시작해 3 바로 앞 숫자인 2까지 출력

 

 

▶️ i 변수에 0부터 시작해 3 바로 앞 숫자인 2까지 쭉 출력

→ 앞 뒤 값의 차이가 1이므로 이어서 출력

 

 

▶️ i 변수에 0부터 시작해 3 바로 앞 숫자인 2까지 2 간격으로 출력

 

 

▶️ i 변수에 students에 저장된 리스트의 1번 인덱스부터 마지막 인덱스까지를 저장 후 출력하므로 '이창열'과 '조동현'만 출력됨

 

 

▶️ 1부터 9까지를 i 변수에 저장해 2를 곱하며 출력하기 때문에 (1*2)값부터 (9*2)값까지 출력

 

 

▶️ f string을 이용해 구구단 2단을 출력한 모습

▶️ 1부터 9까지를 i 변수에 저장해 2와 곱하며 출력함

 

 

For 중첩

블럭(block)의 개념
  • 네이버에서 검색하고 타고 들어가거나 뉴스 크롤링할 때 사용됨

ex. 경제, 사회 - 상위블록, 안에 있는 페이지 - 하위 블록

  • 상위 블록은 하위 블록이 모두 반복될 때까지 반복수행이 끝날 수 없음

 

▶️ i 변수가 저장된 반복문이 0부터 1까지 반복하는 동안 j 변수가 저장된 반복문이 2부터 3까지 반복

 

 

▶️ 1단부터 9단까지의 구구단을 만든 모습

▶️ 1부터 9까지 i에 저장되는 반복문이 진행되는 동안 1부터 9까지 j에 저되는 반복문이 함께 진행됨

 

 

▶️ 1단부터 9단까지 반복문을 이용해 출력한 모습

 

 

Break

반복 중에 조건식을 만족하면 멈추는 역할

 

 

▶️ 위에서 봤던 것처럼 0부터 5개가 반복되어 4까지 i에 저장 후 출력하는 반복문

 

 

▶️ 위와 동일한 반복문에서 i의 값이 3일 때 멈추고 싶다면 break 활용

 

 

Continue

반복 중에 조건식을 만족하면 건너뛰기

 

 

▶️ i가 2로 나누어 떨어지는 경우(짝수 값)에는 건너뛰고 나머지만 출력

 

 

# 연습문제 #

 

For문을 이용해서 1~10까지의 합을 구해보자.

 

▶️ sum_1 변수를 생성해 0으로 초기값을 설정

▶️ 1부터 10까지의 숫자를 i에 저장 후 출력하고 i의 값을 모두 더해 sum_1 변수에 저장함

 

▶️ print(sum_1) 외에도 sum(range(1,11))만으로도 간단하게 출력 가능

 

 

continue를 이용해 짠맛을 제외하고 출력해보자.
taste = ['단맛', '짠맛', '매운맛']

 

▶️ taste 리스트 생성 후 리스트 값들을 i에 저장함

▶️ i 값이 '짠맛'일 경우 continue로 인해 건너띄고 다른 값들만 출력

 

 

while만 이용해서 구구단 2,3단을 출력해보자.

 

 

▶️ i의 값을 2로 초기값을 설정하고 while문을 통해 4 미만일 때만 반복하게 생성

→ 2와 3만 출력됨

▶️ j의 값을 1로 초기값을 설정하고 10 미만일 경우에만 반복문이 형성되면서 2단과 3단의 구구단이 출력됨

 

 

사용자에게 궁금한 구구단 수를 물어보고 해당 구구단이 출력되도록 만들어보자.

 

 

▶️ input()으로 사용자가 출력하고자 하는 단 입력

▶️ for 반복문을 통해 1부터 9까지 반복되도록 생성

 

 

단어의 첫 글자를 key로 생성해 해당 첫글자의 key를 가진 item들로 만들어보자.

 

▶️ 단어들을 words 리스트에 저장함

▶️ 분류해서 넣을 dic_letter 디렉토리를 생성함

▶️ letter 변수를 생성해 단어의 첫 글자(0번 인덱스)를 저장함

▶️ letter가 dic_letter에 존재한다면 리스트 마지막에 추가해서 저장하고, 이에 해당되지 않을 경우 dic_letter에 있는 단어의 첫 글자는 word 리스트에 저장함

반응형

'Data Analysis' 카테고리의 다른 글

[ Python ] 함수  (0) 2021.08.31
[ Python ] 언더바(_)  (0) 2021.08.31
주식 관리 프로그램  (0) 2021.08.31
영어 단어 맞추기 프로그램  (0) 2021.08.31
QR코드 생성 프로그램  (0) 2021.08.31