
Python 변수 연습
Python 변수에 대한 이해를 높이고 실무 능력을 기르기 위한 체계적인 연습 문제를 제공한다. 기초 개념부터 실무 응용까지 단계별로 구성된 문제를 통해 Python 변수 사용법을 완전히 익힐 수 있다.
학습 목표 및 핵심 개념
개념 | 설명 | 예시 |
---|---|---|
변수 생성 | 값을 할당하여 변수 생성 | x = 5 |
다중 할당 | 여러 변수에 한 번에 값 할당 | x, y = 1, 2 |
전역 변수 | 함수 내에서 global 키워드 사용 | global x |
언패킹 | 시퀀스에서 값 추출 | a, b = [1, 2] |
타입 변환 | 데이터 타입 변경 | int(“5”) |
기초 연습 문제
Python 변수의 기본 개념을 확인하는 필수 문제들이다.
문제 1: 변수 생성하기
carname이라는 변수를 생성하고 “Volvo” 값을 할당하세요.
해답
carname = "Volvo"
문제 2: 숫자 변수 생성
x라는 변수를 생성하고 50 값을 할당하세요.
해답
x = 50
문제 3: 변수를 사용한 계산
두 변수 x와 y를 사용하여 5 + 10의 합계를 출력하세요.
해답
x = 5
y = 10
print(x + y)
문제 4: 계산 결과를 변수에 저장
z라는 변수를 생성하고 x + y 값을 할당한 다음, 결과를 출력하세요.
해답
x = 5
y = 10
z = x + y
print(z)
문제 5: 전역 변수 생성
함수 내부에서 전역 변수 x를 생성하고 “fantastic” 값을 할당하세요.
해답
def myfunc():
global x
x = "fantastic"
myfunc()
print("Python is " + x)
문제 6: 여러 변수 출력
x, y, z 변수를 한 줄에 출력하세요.
x = "Python"
y = "is"
z = "awesome"
해답
x = "Python"
y = "is"
z = "awesome"
print(x, y, z)
중급 연습 문제
변수의 고급 활용법을 익히는 문제들이다.
문제 7: 다중 할당
한 줄로 fruit1에 “apple”, fruit2에 “banana”, fruit3에 “cherry”를 할당하세요.
해답
fruit1, fruit2, fruit3 = "apple", "banana", "cherry"
print(fruit1, fruit2, fruit3)
문제 8: 같은 값 할당
a, b, c 세 변수에 모두 0을 한 줄로 할당하세요.
해답
a = b = c = 0
print(a, b, c)
문제 9: 리스트 언패킹
다음 리스트에서 값을 추출하여 개별 변수에 할당하세요.
fruits = ["apple", "banana", "cherry"]
해답
fruits = ["apple", "banana", "cherry"]
x, y, z = fruits
print(x, y, z)
문제 10: 변수 교환
두 변수 a와 b의 값을 Python 방식으로 교환하세요.
a = 100
b = 200
해답
a = 100
b = 200
print(f"교환 전: a={a}, b={b}")
a, b = b, a
print(f"교환 후: a={a}, b={b}")
문제 11: 타입 변환
다음 변수들을 요구되는 타입으로 변환하세요.
str_num = "123" # 정수로 변환
float_num = 45.67 # 문자열로 변환
str_float = "3.14" # 실수로 변환
해답
str_num = "123"
int_num = int(str_num)
float_num = 45.67
str_from_float = str(float_num)
str_float = "3.14"
float_from_str = float(str_float)
print(f"정수: {int_num}")
print(f"문자열: {str_from_float}")
print(f"실수: {float_from_str}")실무 응용 문제
실제 업무에서 활용할 수 있는 변수 사용 패턴들이다.
문제 12: 사용자 정보 관리
사용자 정보를 변수에 저장하고 f-string으로 포맷팅하여 출력하세요.
해답
[code lang="python"]name = "홍길동"
age = 28
email = "hong@example.com"
city = "서울"
print(f"이름: {name}")
print(f"나이: {age}세")
print(f"이메일: {email}")
print(f"거주지: {city}")문제 13: 상품 가격 계산
상품의 원가, 할인율, 세율을 변수로 관리하고 최종 가격을 계산하세요.
해답
[code lang="python"]original_price = 100000
discount_rate = 0.2
tax_rate = 0.1
discounted_price = original_price * (1 - discount_rate)
final_price = discounted_price * (1 + tax_rate)
print(f"원가: {original_price:,}원")
print(f"할인가: {discounted_price:,}원")
print(f"최종가격: {final_price:,}원")문제 14: 성적 관리 시스템
학생의 과목별 점수를 관리하고 평균과 등급을 계산하세요.
해답
[code lang="python"]student_name = "김학생"
korean = 85
english = 92
math = 78
total = korean + english + math
average = total / 3
if average >= 90:
grade = "A"
elif average >= 80:
grade = "B"
elif average >= 70:
grade = "C"
else:
grade = "F"
print(f"학생: {student_name}")
print(f"총점: {total}점")
print(f"평균: {average:.1f}점")
print(f"등급: {grade}")문제 15: 시간 변환기
초 단위 시간을 시, 분, 초로 변환하세요.
해답
[code lang="python"]total_seconds = 3661
hours = total_seconds // 3600
remaining = total_seconds % 3600
minutes = remaining // 60
seconds = remaining % 60
print(f"{total_seconds}초는 {hours}시간 {minutes}분 {seconds}초입니다")
print(f"시간 표기: {hours:02d}:{minutes:02d}:{seconds:02d}")고급 도전 문제
창의적 사고가 필요한 종합 문제들이다.
문제 16: 별표 언패킹
다음 리스트에서 첫 번째, 마지막, 나머지 요소를 각각 다른 변수에 할당하세요.
[code lang="python"]numbers = [1, 2, 3, 4, 5, 6, 7]
해답
numbers = [1, 2, 3, 4, 5, 6, 7]first, *middle, last = numbers
print(f"첫 번째: {first}")
print(f"마지막: {last}")
print(f"중간 요소들: {middle}")
문제 17: 환율 계산기
달러를 원화로, 원화를 달러로 변환하는 프로그램을 작성하세요.
해답
usd_to_krw_rate = 1300usd_amount = 100
krw_amount = 130000
krw_from_usd = usd_amount * usd_to_krw_rate
usd_from_krw = krw_amount / usd_to_krw_rate
print(f"${usd_amount} = ₩{krw_from_usd:,}")
print(f"₩{krw_amount:,} = ${usd_from_krw:.2f}")
문제 18: 개인정보 종합 관리
개인 정보를 종합적으로 관리하는 시스템을 만드세요.
해답
first_name = "길동"last_name = "홍"
birth_year = 1995
current_year = 2024
phone = "010-1234-5678"
email = "hong@example.com"
full_name = last_name + first_name
age = current_year - birth_year
email_domain = email.split("@")[1]
print("=" * 30)
print(f"{'개인정보 카드':^28}")
print("=" * 30)
print(f"성명: {full_name}")
print(f"나이: {age}세")
print(f"전화: {phone}")
print(f"이메일: {email}")
print(f"도메인: {email_domain}")
print("=" * 30)
학습 체크리스트
Python 변수에 대한 이해도를 점검해보자.
기본 개념 확인
- 변수 생성과 할당을 자유롭게 할 수 있는가?
- 다양한 데이터 타입을 변수에 저장할 수 있는가?
- 변수명 규칙을 정확히 알고 있는가?
- 전역변수와 지역변수의 차이를 이해하는가?
응용 기술 확인
- 다중 할당과 언패킹을 활용할 수 있는가?
- f-string을 사용한 포맷팅이 가능한가?
- 변수 타입 변환을 적절히 수행할 수 있는가?
- 복잡한 데이터에서 변수를 추출할 수 있는가?
💡 연습 문제 학습 팁:
• 문제를 단계별로 나누어 해결하자
• 다양한 데이터 타입을 활용해보자
• 에러가 발생하면 원인을 분석하고 수정하자
• 코드 작성 후 다른 방법으로도 시도해보자
• 실무에서 사용할 만한 응용 사례를 생각해보자
추가 연습 과제
더 많은 연습을 원한다면 다음 과제들을 시도해보자.
- 온도 변환기 (섭씨 ↔ 화씨)
- BMI 계산기
- 할인 쿠폰 적용 시스템
- 급여 계산 프로그램
- 좌표 거리 계산기
이러한 연습 문제들을 통해 Python 변수의 다양한 활용법을 익히고, 실무에서 효과적으로 변수를 사용할 수 있는 능력을 기를 수 있다. 꾸준한 연습을 통해 Python 프로그래밍의 기초를 탄탄히 다지자.