본문 바로가기
프로그래밍/Python

[python] 반복문의 종류와 예제

by JR2 2021. 3. 13.

파이썬에서의 반복문은 크게 2가지가 있다.

 

for, while

파이썬에서도 continue와 break는 C언어와 표현이 사용이 가능하다.

 

그런데 Range함수라는 것이 있다. 마지막에 살펴보도록 하겠다.

 

우선 for문 부터 살펴보자

array = ["hi", "my", "name", "is", "genius"]
for i in array:
    print(i)

여기서 중요한 것은, i 값에는 str값이 저장된다는 것이다.

따라서 굳이 array[i]를 호출하지 않아도 된다. (호출하면 안된다 에러뜬다.)

 

 

while문이다.

i = 10
a = 5

while i:
    print ("hi")
    i = i - 1
    if a == i :
        break

 

마지막으로 Range함수이다.

array = ["hi", "my", "name", "is", "genius"]
for i in 5:
    print(i)

이 코드에 대한 결과가 어떻게 될 것이라고 생각하는가?

hi my name is genius 라고 나올것만 같다.

하지만 그렇게 나오지 않고 에러가 뜰 것이다.

 

그렇다면 이렇게 작성해보자.

array = ["hi", "my", "name", "is", "genius"]
for i in range(5):
    print(i)

세상에 range만 덮어줬는데 결과가 잘 나온다.

TypeError: 'int' object is not iterable

그 이유는 자료형 때문이다. 

"range 함수는 숫자의 범위를 가지는 range 객체를 돌려보내며 이를 통하여 for문 내에서 위치를 가지고 요소를 가져오거나 변경할 수 있습니다"

출처: https://blog.hexabrain.net/282 [끝나지 않는 프로그래밍 일기]

 

이렇다고 한다.

 

보통 range 함수를 쓸 때에는 이렇게 많이들 쓴다.

array = ["hi", "my", "name", "is", "genius"]
for i in range(len(array)):
    print(i)

 

그리고 Range함수의 형식은 크게 3가지로 나눌 수 있다.

1. range(끝)

2. range(시작, 끝)

3. range(시작, 끝, 증감)

 

C언어를 공부한 사람은 눈치 챘겠지만, C언어의 for문과 같은 역할을 지 혼자 수행한다. 대단한 친구이다.

댓글