파이썬 반복문
"파이썬 반복문"은 프로그램을 작성할 때 중요한 기능입니다. 파이썬에서는 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 |
댓글