[파이썬 공학 시뮬레이션 1단계] 3화. 반복문(Loop)과 디지털 실험실의 무한 루프 탈출하기

지난 시간에 조건문(if-else)을 활용해 시스템의 경계를 설정하고, 파이썬의 엄격한 규칙인 ‘들여쓰기’에 대해 배웠던 것 기억하시나요? 오늘은 그 탄탄한 기초 위에 파이썬의 가장 강력한 무기인 ‘반복문(For loop)’을 얹어보려고 합니다.

공학을 하다 보면 똑같은 계산을 수천 번, 수만 번 반복해야 할 때가 정말 많습니다. 인간은 1,000번쯤 반복하면 집중력이 흐트러지거나 계산 실수를 하기 마련이지만, 우리 컴퓨터 친구들은 단 한 번도 불평하지 않고 지치지도 않습니다. 바로 이 지점이 컴퓨터를 사용하는 가장 큰 이유이자 즐거움입니다.

시뮬레이션이란 결국, 잘게 쪼개진 시간의 조각(Time Step)들을 묵묵히 이어 붙여 미래의 궤적을 그려내는 작업입니다.

공학에서는 연속적인 시간을 아주 짧게 나누어 계산하는데, 이를 ‘타임스텝’이라고 부릅니다.

📚 새내기 용어 사전:
– 타임스텝(Time Step, \(\Delta t\)): 연속적인 시간을 아주 짧은 간격으로 쪼갠 단위입니다. 마치 영화 필름이 수많은 사진 프레임으로 이루어져 움직임을 만들어내듯, 공학 시뮬레이션도 이 짧은 시간의 조각들을 순서대로 계산하여 움직임을 예측합니다.

파이썬에서 이 반복을 담당하는 것이 바로 `for`문입니다. 그리고 `for`문과 떼려야 뗄 수 없는 단짝이 바로 `range()` 함수입니다.

# 0초부터 10초까지 시뮬레이션을 진행하는 간단한 예제입니다.
# range(0, 11)이라고 쓰면 0부터 10까지 총 11번 반복합니다.

for t in range(0, 11):
    print(f"현재 시간: {t}초 - 시뮬레이션 진행 중...")
    # 실제 공학 계산이라면 이곳에 물리 공식이 들어가게 됩니다.
💡 선배의 실무 Note: 파이썬의 `range(시작, 끝)` 함수에서 ‘끝’ 숫자는 포함되지 않는다는 점을 꼭 기억하세요! 예를 들어 `range(1, 10)`이라고 작성하면 1부터 9까지만 숫자를 만들어냅니다. 마지막 숫자가 포함되지 않는 것이 처음에는 어색할 수 있지만, 공학 계산에서 배열의 개수를 맞추거나 인덱스를 다룰 때 오히려 계산이 훨씬 깔끔해지는 마법 같은 규칙이랍니다.

위의 코드를 코랩에서 직접 실행해 보세요. `t`라는 변수가 0부터 10까지 차례대로 변하면서 시뮬레이션이 진행되는 모습을 볼 수 있을 거예요. 우리가 다루는 물리적 현상은 시간의 흐름에 따라 변화하기 때문에, 이렇게 `for`문으로 시간을 한 칸씩 전진시키며 상태를 업데이트하는 것이 모든 공학 시뮬레이션의 기본 뼈대가 된답니다.

어때요, 생각보다 간단하지 않나요?

다음 시간에는 우리가 배운 이 반복문들을 더 효율적으로 관리하는 법을 배울 예정이에요. 복잡한 공학 공식들을 매번 일일이 타이핑하는 대신, 한 번 만들어두면 버튼 하나로 언제든 꺼내 쓸 수 있는 ‘나만의 공학 공식 자판기(함수, Function)’를 만드는 방법을 소개해 드릴게요. 그럼 다음 시간에 더 재미있는 모습으로 만나요!

댓글 남기기