본문 바로가기
파이썬

파이썬 기초 - 반복문

by python pro 2023. 1. 22.
반응형

파이썬 반복문

 

"파이썬 반복문"은 프로그램을 작성할 때 중요한 기능입니다. 파이썬에서는 for문과 while문을 사용할 수 있습니다.

 

for문 : for문은 주어진 범위 내에서 특정 조건을 만족하는 동안 반복하는 구조입니다. 예를 들어, 1부터 10까지의 숫자를 출력하려면 다음과 같이 작성할 수 있습니다.

for i in range(1,11):
    print(i)

 

 

while문 : while문은 주어진 조건이 만족되는 동안 반복하는 구조입니다. 예를 들어, 0부터 10까지의 숫자를 출력하려면 다음과 같이 작성할 수 있습니다.

i = 0
while i < 10:
    print(i)
    i += 1

 

for-else문 : for문과 while문을 사용할 때 else문을 사용할 수 있습니다. for-else문은 for문이 정상적으로 종료되었을 때, else문이 실행됩니다. 예를 들어, 주어진 리스트에서 특정 값을 찾는 코드를 작성하려면 다음과 같이 작성할 수 있습니다.

numbers = [1, 2, 3, 4, 5]
find_num = 3
for i in numbers:
    if i == find_num:
        print("find")
        break
else:
    print("not find")

 

반복문을 사용할 때는 주의해야 할 점이 많지만, 적절한 코드블록을 구분하면 정확한 프로그램을 만들 수 있을 것입니다.

 

잘못된 예시 코드를 작성하면 여러가지 문제가 발생할 수 있어요.

count = 5
while count:
    print(count)

 

위 코드는 count 가 0이 될 때까지 무한반복됩니다. count 값을 증가시키는 코드가 없기 때문입니다. 이러한 문제를 해결하기 위해서는 count 값을 증가시키는 코드를 추가해야 합니다.

count = 5
while count:
    print(count)
    count -= 1

 

반복문을 사용할 때는 이러한 점도 꼭 고려해야 합니다. 코드블록을 적절하게 구분하며, 정확한 조건을 설정하는 것이 중요합니다.

 

또한, 반복문을 사용할 때 주의해야 할 점 중 하나는 무한 루프에 빠지지 않도록 하는 것입니다. 예를 들어, 다음과 같은 코드를 작성하면 무한 루프에 빠질 수 있습니다.

while True:
    print("Hello World!")

이러한 무한 루프를 피하기 위해서는 루프 조건을 적절하게 설정하거나, break문을 사용하여 조건에 만족할 때 강제로 루프를 종료하는 방법이 있습니다.

count = 0
while count < 10:
    print("Hello World!")
    count += 1

 

반복문을 사용할 때는 주의해야 할 점 중 하나는, 정확한 인덱스를 사용하는 것입니다. 예를 들어, 다음과 같은 코드를 작성하면 인덱스 오류가 발생할 수 있습니다.

fruits = ["apple", "banana", "cherry"]
for i in range(4):
    print(fruits[i])

 

 

이러한 인덱스 오류를 피하기 위해서는, 리스트의 길이를 확인하여 인덱스를 설정하는 것이 좋습니다.

fruits = ["apple", "banana", "cherry"]
for i in range(len(fruits)):
    print(fruits[i])

 

또한, python은 for문에서도 리스트에서 요소를 직접 꺼내서 사용할 수 있는 기능을 제공합니다.

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

이러한 방법도 사용하면 인덱스 오류를 피할 수 있습니다. 반복문을 사용할 때는 인덱스를 정확하게 사용하는 것이 중요합니다. 이러한 오류를 피하는 방법으로는, 내장 함수인 enumerate()를 사용하는 것이 있습니다. enumerate() 함수는 리스트에 대해 인덱스와 값을 함께 순회할 수 있도록 도와줍니다. 예를 들어, 다음과 같이 enumerate() 함수를 사용하면 인덱스 접근 오류를 피할 수 있습니다.

fruits = ["apple", "banana", "cherry"]
for i, fruit in enumerate(fruits):
    print(i, fruit)

 

 

반복문을 사용할 때는 주의해야 할 점 중 하나는, 성능 문제입니다. 예를 들어, 다음과 같은 코드를 작성하면 리스트를 검색할 때마다 리스트를 순회하는데 시간이 많이 걸립니다.

fruits = ["apple", "banana", "cherry"]
needle = "banana"
for fruit in fruits:
    if needle == fruit:
        print("found!")

이러한 문제를 해결하는 방법으로는, 해시 테이블을 사용하는 것이 있습니다. 예를 들어, 다음과 같이 해시 테이블을 사용하면 검색 성능이 크게 개선됩니다.

fruits = ["apple", "banana", "cherry"]
needle = "banana"
fruits_set = set(fruits)
if needle in fruits_set:
    print("found!")

 

반응형

'파이썬' 카테고리의 다른 글

파이썬 기초 - 패키지 (package)  (0) 2023.01.22
파이썬 기초 - 함수  (0) 2023.01.22
파이썬 기초 - 조건문  (0) 2023.01.22
파이썬 기초 - 연산자  (0) 2023.01.22
파이썬 기초 - 자료형  (1) 2023.01.21

댓글