영차영차

[Python] 반복문 (for문) 사용법! 본문

Python

[Python] 반복문 (for문) 사용법!

유코피치 2025. 3. 13. 22:15

서론

어제부터 살짝 멘붕 왔다. 라이브 강의도 그렇고,, 대충 이해는 되지만 파이썬을 너무 준비 못해서 많이 못 따라가고 있는것 같다. 그래서 기초강의부터 다시 들었다. 당연히 다 외우진 못하니 필기하면서 들었다 ㅜㅜ 분명히 다 들었던 강의인데도 새로웠다는게 너무 소름..ㅋㅋㅋ 아무튼 파이썬 개인 숙제 푸는데 아직 배우지도 않는 내용들도 나오고.. 백지상태에서 시작하는 내 입장에서는 너무 헷갈리는게 많았다. GPT 사용도 금지되어 있으니.. 구글링하는것도 어느정도 알아야 하는데 시간을 너무 잡아먹었다 ㅜㅜ..

일단 숙제에서도 많이 등장한 반복문 정리해보자.


 

본론

0. for 문이란?

  • 리스트, 튜플, 딕셔너리 형태의 정보를 하나하나 순회하면서 반환해야할 때 필요함.

구조) 이것만 보면 뭐가 뭔지 하나도 모르겠다..

for 변수 in 반복할_데이터:

     코드_블록

 

기본 사용법 예시)

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

#출력: "apple", "banana", "cherry"

 

이런식으로 for 뒤에 붙는 변수에 반복할 데이터에 담긴 값을 한번씩 넣어서 출력해준다.

 


 

1. range() 함수와 사용하기

  • range() 함수는 연속된 정수를 생성해줌.
  • 시작값(start), 끝값(stop), 그리고 증가값(step)을 인자로 받아 사용
  • 주로 반복문에서 가장 많이 사용됨.

**range() 함수 구조:

1) range(stop) #나타나야 할 정수의 맨 마지막 값 (start값 안쓰면 0부터 시작)

예시)
for i in range(5): # 0부터 시작하여 5 이전까지의 정수 시퀀스 생성
    print(i, end=' ') #end= ' ' 해주면 출력값 사이에 띄어쓰기 한 칸씩 해줌 (' ' 사이에 띄우는 칸 수만큼 적용됨)
# 출력: 0 1 2 3 4

 

2) range(start, stop) #정수의 시작하는 값, 마지막 값

예시)

for i in range(2, 7): # 2부터 시작하여 7 이전까지의 정수 시퀀스 생성
    print(i, end=' ') # 출력: 2 3 4 5 6

 

3) range(start, stop, step) #정수의 시작하는 값, 마지막 값, 시작하는 값으로부터 몇개 점프할지

예시)
for i in range(1, 10, 2): # 1부터 시작하여 10 이전까지 2씩 증가하는 정수 시퀀스 생성
    print(i, end=' ') # 출력: 1 3 5 7 9

 


 

2. 다양한 활용 예시

  • 딕셔너리 순회하기

person = {"name": "John", "age": 30, "city": "New York"}
for key, value in person.items():
    print(key, " : ", value)

#출력: name : John, age : 30, city : New York

 

 

  • 조건문과 함께 사용

for i in range(1, 11):
    if i % 2 == 0:
        print(i)

#출력: 2 4 6 8 10

 

 

  • 구구단 출력하기 (f-string + 이중 for문 )

for gugu in range ( 2, 10 ) :

   print(f"{gugu} 단")

   for dan in range (1, 10 ) :

       print(f"{gugu} x {dan} = {gugu * dan}")

더보기

#출력: 이런식으로 9단까지 나옴

2 단

2 x 1 = 2

2 x 2 = 4

2 x 3 = 6

2 x 4 = 8

2 x 5 = 10

2 x 6 = 12

2 x 7 = 14

2 x 8 = 16

2 x 9 = 18

 

  • 문자열에서 특정 문자 제거하기

sentence = "Hello World"
result = ""
for char in sentence:
    if char != "o":
        result += char
print(result)

#출력: Hell Wrld

 

 

  • 평균 계산

data = [10, 20, 30, 40, 50]
total = 0
for d in data:
    total += d
mean = total / len(data)
print("Mean:", mean)

 

  • 모델 평가

# 모델 성능 평가 예시
true_values = [1, 0, 1, 0, 1]
predicted_values = [0, 0, 1, 0, 1]
correct_predictions = 0
for true, pred in zip(true_values, predicted_values):
    if true == pred:
        correct_predictions += 1
accuracy = correct_predictions / len(true_values)
print("Accuracy:", accuracy)


 

결론

오늘 숙제 풀면서 다시 정리해보니까 조금 이해가 되는 부분이 많았다. while문도 정리하려고 했는데 가직 대략적인 개념만 잡혔고 정리해서 설명할정도는 안되는거같아서 생략했다 ㅜ 그리고 오늘 라이브강의에서 곧 .append가 파이썬에서 사라진다고해서 강의자료속에 .append 나온 부분은 filter나 list comprehension 사용하는 방법도 연습했다. 생각보다 심플하게 입력할 수 있어서 좋았다. list comprehension은 너무 자주 사용하면 안된다고해서 주로 filter 함수로 연습했다.

간결하고 효율적인 코드 작성할때까지 화이팅!!

 

 

 

 

728x90