개센개발

혼자 공부하는 파이썬 - 04 반복문 ③ 본문

파이썬

혼자 공부하는 파이썬 - 04 반복문 ③

벼링2 2024. 2. 3. 23:24

04-3. 범위 자료형과 while 반복문

범위

리스트, 딕셔너리 외에 for 반복문과 함께 많이 사용되는 범위range 자료형의 사용법에 대해 알아보자~

정수로 이루어진 범위를 만들 때는 range() 함수를 사용한다.

 

(1) 매개변수에 숫자를 한 개 넣는 방법

0부터 A-1까지의 정수로 범위를 만든다.

range(A)

 

(2) 매개변수에 숫자를 두 개 넣는 방법

A부터 B-1까지의 정수로 범위를 만든다.

 

(3) 매개변수에 숫자를 세 개 넣는 방법

A부터 B-1까지의 정수로 범위를 만드는데 앞뒤의 숫자가 C만큼의 차이를 가진다.

 

for 반복문 : 범위와 함께 사용하기

for 숫자변수 in 범위 :

코드

for i in range(5) :
    print(str(i) + "=반복변수")

    
0=반복변수
1=반복변수
2=반복변수
3=반복변수
4=반복변수

for i in range(5,10):
    print(str(i) + "=반복변수")

    
5=반복변수
6=반복변수
7=반복변수
8=반복변수
9=반복변수

for i in range(0,10,3) :
    print(str(i) + "=반복변수")

    
0=반복변수
3=반복변수
6=반복변수
9=반복변수

 

 

for 반복문 : 리스트와 범위 조합하기

#리스트를 선언
arr = [273, 32, 103, 57, 52]

#리스트에 반복문을 적용
for ele in arr :
	print(ele)
#리스트를 선언
arr2 = [273, 32, 103, 57, 52]

#리스트에 반복문을 적용
for i in range(len(arr2)):
    print("{}번째 반복 : {}".format(i,arr2[i]))

    
0번째 반복 : 273
1번째 반복 : 32
2번째 반복 : 103
3번째 반복 : 57
4번째 반복 : 52

 

 

for 반복문 : 반대로 반복하기

역반복문 : 반복 변수가 큰 숫자에서 작은 숫자로 반복문 적용

 

(1) range() 함수의 매개변수를 세 개 사용

#역반복문
for i in range(4,0-1,-1) :
    print("현재 반복 변수 : {}".format(i))

    
현재 반복 변수 : 4
현재 반복 변수 : 3
현재 반복 변수 : 2
현재 반복 변수 : 1
현재 반복 변수 : 0

 

(2)  reversed() 함수를 사용

#역반복문
for i in reversed(range(5)) :
    print("현재 반복 변수 : {}".format(i))

    
현재 반복 변수 : 4
현재 반복 변수 : 3
현재 반복 변수 : 2
현재 반복 변수 : 1
현재 반복 변수 : 0

 

 

중첩 반복문으로 피라미드 만들기

output = ""
for i in range(1,10) :
    for j in range(0,i) :
        output += "*"
    output += "\n"

    
print(output)

*
**
***
****
*****
******
*******
********
*********

 

output = ""

for i in range(1,15) :
    for j in range(14,i,-1) :
        output += ' '
    for k in range(0,2*i-1) :
        output += "*"
    output += "\n"

    
print(output)

             *
            ***
           *****
          *******
         *********
        ***********
       *************
      ***************
     *****************
    *******************
   *********************
  ***********************
 *************************
***************************

 

 

while 반복문

for 반복문 이외에도 범용적으로 사용할 수 있는 while 반복문을 사용하기도 한다.

while 불 표현식 : 

문장

while True : 
	print(".", end = "")

 

 

while 반복문 : for 반복문처럼 사용하기

#반복 변수를 기반으로 반복하기
i = 0
while i < 10 :
    print("{}번째 반복".format(i))
    i += 1

    
0번째 반복
1번째 반복
2번째 반복
3번째 반복
4번째 반복
5번째 반복
6번째 반복
7번째 반복
8번째 반복
9번째 반복

 

while 반복문에서 중요한 키워드 = 조건

조건을 활용해서 반복을 사용해야 한다면 while 반복문을 사용하는 것이 좋다.

 

 

while 반복문 : 상태를 기반으로 반복하기

리스트의 remove() 함수는 리스트 내부에서 해당하는 값을 하나만 제거할 수 있었다.

while 반복문을 활용하면 여러 개를 제거할 수 있다.

while 반복문의 조건을 '리스트 내부에 요소가 있는 동안'으로 지정

listTest = [1,2,3,4]
value = 2

while value in listTest :
    listTest.remove(value)

    
print(listTest)
[1, 3, 4]

 

 

while 반복문 : 시간을 기반으로 반복하기

유닉스 타임이란 세계 표준시로 1970년 1월1일 0시0분0초를 기준으로 몇 초가 지났는지를 정수로 나타낸 것

파이썬에서 유닉스 타임을 구할 때는 다음과 같은 코드를 사용한다.

>> import time

>> time.time()

import time
number = 0
target_tick = time.time()+5
while time.time() < target_tick:
    number += 1

    
print("5초동안 {}번 반복했습니다.".format(number))
5초동안 0번 반복했습니다.

왜지

 

 

while 반복문 : break 키워드 / continue 키워드

break 키워드는 반복문을 벗어날 때 사용하는 키워드

일반적으로 무한 반복문을 만들고, 내부의 반복을 벗어날 때 많이 사용한다.

i = 0
while True :
    print("{}번쨰 반복문입니다.".format(i))
    i = i + 1
    input_text = input(">종료하시겠습니까?(y/n):")
    if input_text in ["y","Y"]:
        print("반복을 종료합니다.")
        break

    
0번쨰 반복문입니다.
>종료하시겠습니까?(y/n):
1번쨰 반복문입니다.
>종료하시겠습니까?(y/n):
2번쨰 반복문입니다.
>종료하시겠습니까?(y/n):
3번쨰 반복문입니다.
>종료하시겠습니까?(y/n):n
4번쨰 반복문입니다.
>종료하시겠습니까?(y/n):n
5번쨰 반복문입니다.
>종료하시겠습니까?(y/n):y
반복을 종료합니다.

 

numbers = [5,15,6,20,7,25]


for number in numbers :
    if number < 10 :
        continue
    print(number)

    
15
20
25

 


Comments