여러분이 사용하고 계신 브라우저는 HTML5를 지원하지 않기 때문에 몇몇 요소가 제대로 보이도록 JScript를 사용하고 있습니다. 하지만 여러분의 브라우저 설정에서 스크립트 기능이 꺼져있으므로, 현재 페이지를 제대로 확인하시려면 스크립트 기능을 켜주셔야 합니다. Python - 변수 연습 문제

Python – 변수 연습 문제

2주전 작성

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 = 1300
usd_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 프로그래밍의 기초를 탄탄히 다지자.

참고
Mingg`s Diary
밍구
공부 목적 블로그