탄탄한 파이썬 기초 구축 – 루프, 함수 및 논리
Source: Dev.to

My Learning Notes – Python Basics (Day Learning Blog)
오늘 수업은 기본 파이썬 개념과 몇 가지 논리 문제에 초점을 맞췄습니다. 주제는 단순하지만 프로그래밍의 기초를 이루기 때문에 중요합니다. 배운 내용을 제 자신의 말로 정리하기 위해 이 블로그를 씁니다.
sep and end in Python
파이썬에서 print() 함수는 기본적으로 다음과 같은 동작을 합니다:
- 여러 값을 출력할 때 사이에 공백을 삽입합니다.
- 출력 후 자동으로 다음 줄로 이동합니다.
이 동작은 sep와 end를 사용해 제어할 수 있습니다.
sep(separator): 값들 사이에 들어갈 문자열을 정의합니다.end: 출력이 끝난 뒤에 들어갈 문자열을 정의합니다.
print("hi", "hello", sep=" ", end="*")
print(5)
Output
hi hello*5
sep=" "는 단어 사이에 공백을 유지합니다.end="*"는 새 줄을 방지하고 대신*를 추가합니다.
Functions in Python
함수는 특정 작업을 수행하도록 설계된 재사용 가능한 코드 블록입니다. 같은 로직을 반복해서 작성하는 대신 함수를 사용하면 가독성을 높이고 중복을 줄일 수 있습니다. 함수는 인자라고 불리는 입력 값을 받을 수 있으며, 결과값을 반환할 수도 있습니다.
Arguments in Functions
인자는 함수가 호출될 때 전달되는 값입니다. 인자의 기본 유형은 다음과 같습니다:
- 필수 인자
- 기본값 인자
- 가변 길이 인자
인자는 함수를 유연하고 재사용 가능하게 만듭니다.
Polymorphism
다형성(polymorphism)은 “여러 형태”를 의미합니다. 프로그래밍에서는 하나의 함수나 연산이 입력에 따라 다르게 동작할 수 있습니다.
- 두 숫자를 더하면 → 수치적 덧셈
- 두 문자열을 더하면 → 문자열 연결
같은 연산이지만 동작이 다릅니다.
Method Overloading
메서드 오버로딩은 같은 함수 이름에 서로 다른 개수 또는 타입의 인자를 사용하는 것을 말합니다. 파이썬은 전통적인 메서드 오버로딩을 지원하지 않지만, 기본값 인자나 조건문을 활용해 유사한 동작을 구현할 수 있습니다.
Sum of First n Natural Numbers
수학 공식:
[ \frac{n(n + 1)}{2} ]
은 첫 n개의 자연수 합을 구합니다.
예시: n = 10일 때,
합 = 10 × 11 / 2 = 55
Using a Loop
bag = 0
day = 1
while day = 1:
factorial = factorial * no
no = no - 1
print(factorial)
두 방법 모두 같은 결과(120)를 출력합니다.
Logic Problem – Frog Climbing
루프를 이용한 시뮬레이션.
문제:
개구리가 50피트에서 시작하여 한 번에 2피트를 올라가고, 다시 1.25피트 미끄러집니다. 땅에 닿기까지 몇 번(또는 며칠) 걸리는지 구하세요.
feet = 50
up = 2
down = 1.25
day = 0
while feet > 0:
feet = feet - up + down
day = day + 1
print(day)
이러한 유형의 문제는 논리적 사고와 루프에 대한 이해를 향상시킵니다.