[2025.11.10] 오늘의 학습 키워드 - 파이썬의 기본 활용편

허진원·2025년 11월 10일

내일배움캠프 TIL

목록 보기
17/41

주말이 지나고 다시 학습의 날이 찾아 왔다. 오늘은 추위에 떨면서 아침을 맞았다. 왜인지 살펴보니, 전기장판이 꺼져 있었다... 덕분에 아침부터 목이 다소 아파서 고생했다. 다행히도 지금은 멀쩡한 상태이다. 이 글을 읽는 여러분께서는 자기 전 전기장판 설정을 시간에 맞춰 잘 해놨는지 다시 한 번 점검하시길 바란다.

  1. 오늘 학습 키워드
    파이썬 기본 활용하기 - 반복문 'for'
  1. 오늘 학습한 내용을 나만의 언어로 정리하기
    오늘은 지난 시간에 이어서 파이썬의 기본적인 내용에 대해서 복습했다. 오늘의 파이썬은 기본에서 약간 더 나아간(?) 반복문, 그 중에서도 for문에 대해서 복습을 진행했다.
  1. 학습 내용
    본격적으로 학습 내용을 정리하기에 앞서 간단하게 for문에 대해서 요약해보자.

    for문은 코드를 연속해서 실행시켜야 할 경우에 사용한다. 데이터 분석 및 기타 프로그래밍 작업에서 매우 유용하게 사용되는 도구이다.

  • for 반복문 기본형

    for문의 기본형은 다음과 같다.

 for 변수 in 반복할_데이터: 
     코드_블록

여기서 반복할 데이터는 리스트, 튜플, 문자열 등 반복 실행이 가능한 데이터 타입을 말한다.

그리고 "변수"란, 각 반복(iteration)마다 반복을 진행한 후 현재의 값을 가지는 변수를 뜻한다. 쉽게 말해 반복된 값을 "변수"라는 바구니에 담아두는 것이다.

리스트와 튜플은 반복 실행하는 방법이 동일하다.
"과일 리스트"로 예를 들어 보자.

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

"fruits" 리스트를 먼저 선언한 후, for문 기본형을 작성해준다.

코드를 실행하면 리스트에 담긴 순서대로 과일 이름이 출력된다. 튜플 또한 동일한 형식으로 반복할 수 있다.

문자열도 비슷한 형식으로 실행 가능하다. 원하는 문자열을 반복문 안에 작성한 뒤 실행시키면 된다.

for letter in "hello":
    print(letter)

위의 코드를 실행하면 리스트 때와 유사하게 결과를 출력한다. 다만, 문자열은 리스트와 같이 개별로 저장된 데이터가 없으므로, 큰따옴표" " 안의 문자들이 적힌 순서대로 출력하게 된다.

작성자가 직접 반복할 범위와 횟수를 정하고 싶을 수도 있다. 그럴 때는 range() 함수를 사용하여 코드를 작성하면 된다.

for i in range(5): 
   print(i)

range() 함수는 연속된 정수를 생성하는 데 사용한다. 이 때 순차적인 정수 시퀀스의 시작 값과 끝 값, 각 숫자 사이의 간격을 지정할 수 있다.

1) 

range(stop)

가장 기본이 되는 형태이다. 여기서 확인할 수 있는 점은, 정수 시퀀스의 시작 값은 함수에서 생략이 가능하다는 것이다. 생략했을 경우 기본값은 0으로, 0부터 stop에 적힌 숫자에서 하나를 뺀 값까지 출력된다.

예를 들어 range(5) 로 작성했다면, 0부터 4까지 출력된다.

for i in range(5):
    print(i, end=' ')

'hello' 문자열과 달리 숫자가 한 줄에 출력되는 이유는 "end=' '" 인자 때문이다.

파이썬의 print() 함수는 기본값으로 "end='\n''" 를 가지고 있다. 이 인자는 '줄 바꿈'을 의미한다. 이 때 우리는 "end"를 통해서 줄 바꿈 대신 원하는 값으로 출력하는 것이 가능해진다. 여기서는 "end=' '" 로 작성해서 줄 바꿈 대신 띄어쓰기를 출력했다.

2)
range(start, stop)

다음으로, 정수 시퀀스의 시작 값과 끝 값을 적은 형태이다. 시작 값은 원하는 숫자를 입력하면 된다. 다만, 끝 값에 입력할 숫자는 시작 값보다 커야 한다. 또한, 끝 값을 적을 때에는 원하는 숫자에 +1을 해줘야 한다.

for i in range(2, 7):
    print(i, end=' ')

사진에서 볼 수 있듯이, 끝 값을 7로 설정했을 경우 6까지 출력된다. 이 규칙을 잘 기억해야 실제로 range() 함수를 사용할 때 헤매지 않고 원하는 값을 출력할 수 있게 된다.

3)
for i in range(1, 9, 2):
    print(i, end=' ')

마지막으로 정수 시퀀스의 간격까지 설정한 형태이다. 숫자는 1부터 8까지, 2의 간격으로 출력된다. 즉 1, 3, 5, 7이 출력될 것이다.

for문으로 딕셔너리도 반복할 수 있다!

먼저 딕셔너리를 선언한 후에 for문을 통해서 이를 순차적으로 출력하는 것이 가능하다.

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

위 코드는 딕셔너리 "person"을 먼저 선언해주었다. 그 후 for문에 해당 딕셔너리를 집어 넣고, items() 함수를 사용함으로써 "person"의 내용물 전체를 반복해서 출력해주고 있다.

이 외에도 for문에는 다양한 활용법이 있다.

간단하게는 for문과 조건문을 함께 사용하는 방법, 리스트에서 특정 값을 걸러내는 방법 등이 있다.

# 조건문과 함께 사용하기
for i in range(1, 11):
    if i % 2 == 0:
        print(i)
        
# 리스트에서 특정 값 걸러내기 
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = []
for num in numbers:
    if num % 2 == 0:
        even_numbers.append(num)
print(even_numbers)

심지어는 구구단을 출력하는 것도 가능하다!!

# 조건문과 반복문을 복합적으로 활용하여 구구단 출력
for i in range(2, 10):
    print(f"{i}단")
    for j in range(1, 10):
        print(f"{i} x {j} = {i * j}")

위의 코드 중, range(2, 10)에서 10을 100으로 바꾸면 2단부터 99단까지도 출력된다.

구구단에서 더 나아가 별표로 삼각형 그리기, 문자열에서 특정 문자 제거하기, 딕셔너리에서 특정 조건에 맞는 값만 출력하기 등도 가능하다.

1) 별표로 직각 삼각형 그리기
size = 5 # 삼각형의 크기를 입력, 원하는 크기를 직관적으로 설정

for i in range(1, size + 1):
    print("*" * i)
    
2) 문자열에서 특정 문자 제거하기 ("o" 제거)
sentence = "Hello World"
result = ""
for char in sentence:
    if char != "o":
        result += char
print(result)

3) 딕셔너리에서 특정 조건에 맞는 항목 출력하기
ages = {"John": 30, "Jane": 25, "Doe": 35, "Alice": 20}
for name, age in ages.items():
    if age > 25:
        print(f"{name} is older than 25")

또한 이중으로 for문을 사용해서 더욱 복잡한 계산을 하거나, 원하는 패턴을 찾아낼 수 있다.

위에서 예시로 든 '구구단 출력'이 이중 for문의 좋은 예시이다.

또다른 예시로 든 '*로 삼각형 그리기'도 이중 for문으로 재현 가능하다. 역삼각형을 만드는 것도 가능하다!!!

1) 별(*)로 삼각형 만들기
size = 5
for i in range(size):
    for j in range(i + 1):
        print("*", end="")
    print()

2) 별(*)로 역삼각형 만들기
size = 5
for i in range(size, 0, -1):
    for j in range(i):
        print("*", end="")
    print()

이렇게 파이썬의 반복문에 대해서 복습해보았다. 아직 다른 개념들도 다소 낯설기 때문에 당장 반복문을 내 손발처럼 다룰 수는 없다. 튜터님께서도 강의 때마다 말씀하시길, "결국 직접 만져보고 코드를 작성해봐야 내 것이 된다."라고 하셨다. 꾸준하게 다루다보면 싫어도 익숙하게 반복문을 작성하고 있는 내가 있겠지. 어찌됐든 지금은 계속해서 연습해야만 한다는 것. 열심히 해보자고.

  1. 학습하며 느낀 점

    간단한 예시들이었지만, 실전에서도 이를 응용해 다양한 데이터를 출력하고 분석해낸다고 한다.

    결국 중요한 것은기초를 얼마나 확실하게 다졌느냐에서 출발하는 것이다. 먼저 개념을 정확하게 이해하고, 반복 연습을 통해서 체득할 것. 이것이 지금의 우선순위라고 느꼈다.

마치며 : '날이 추워지고 있긴 한 건가 하는' 생각이 들기 시작했다. 10월에 비해서는 많이 쌀쌀해진 것 같다만, 아직 실내에서는 가끔씩 조금 더워서 땀이 나기도 한다. 이러다가도 금세 또 추워지겠지...? 오늘은 전기장판 제대로 켜 놓고 자야겠다.

profile
국문과 전공 데이터 입문자

0개의 댓글