파이썬 코딩 자율학습단 12기 2주차 학습 후기

2주차에는 파이썬의 다양한 기초 개념을 다루며, 프로그래밍의 기초를 다질수 있는 시간이였는데요, 특히 자료구조, 제어문, 그리고 함수에 대한 이해를 높이는데 중점을 두었습니다. 매일 교재를 통해 이론적 지식과 함께 실습 코드를 작성하면서 실제로 적용할 수 있는 방법을 배우게 되었습니다.
6~7일차: 자료구조 – 리스트, 딕셔너리, 튜플과 세트
이틀 동안 진행된 자료구조 학습에서는 파이썬에서 제공하는 다양한 데이터 구조에 대해 깊이 있게 이해할수 있는 시간이였습니다.
리스트
리스트는 파이썬에서 가장 기본적인 데이터 구조 중 하나로, 여러 값을 저장할 수 있는 컨테이너입니다.
subway = ["푸", "피글렛", "티거"]
print(subway)
리스트의 다양한 메소드를 활용하여 데이터를 추가하거나 삭제하는 방법을 실습했습니다. append(), insert(), pop(), clear() 메소드를 사용해 리스트를 조작하는 예제를 통해 리스트의 동작을 이해할 수 있었습니다.
특히, 리스트의 정렬과 반전 기능도 유용하게 활용할 수 있음을 알게 되었습니다.
num_list = [5, 2, 4, 3, 1]
num_list.sort()
num_list.sort(reverse=True)
num_list.reverse()
딕셔너리
딕셔너리는 키-값 쌍으로 데이터를 저장하는 자료구조입니다.
cabinet = {3: "푸", 100: "피글렛"}
print(cabinet.get(5, "사용 가능"))
딕셔너리의 키를 이용해 값을 쉽게 조회하고, 추가 및 삭제하는 방법도 연습했습니다. keys(), values(), items() 메소드를 통해 딕셔너리의 내용을 확인하는 방법도 알게 되었습니다.
튜플
튜플은 리스트와 비슷하지만, 한 번 생성하면 변경할 수 없는 불변형 데이터 구조 입니다.
menu = ("돈가스", "치즈돈가스")
print(menu[0])
튜플의 언팩킹 기능을 통해 여러 값을 동시에 변수에 할당하는 법을 배우며, 코드의 간결함을 느낄 수 있었습니다.
세트
세트는 중복을 허용하지 않는 데이터 구조로, 집합 연산을 지원합니다.
java = {"푸", "피글렛", "티거"}
python = {"푸", "이요르"}
print(java & python)
print(java | python)
세트를 이용해 데이터의 중복을 제거하고, 간단한 집합 연산을 수행하는 방법을 익혔습니다.
8~9일차: 제어문 – 조건문과 반복문
이틀 간의 학습에서는 프로그램의 흐름을 제어하는 제어문, 즉 조건문과 반복문에 대해 학습하였습니다.
조건문
조건문을 통해 프로그램의 흐름을 제어할 수 있습니다. 사용자의 입력에 따라 결과가 달라지는 예제를 통해 실습했습니다.
weather = input("오늘 날씨는 어때요? ")
if weather == "비" or weather == "눈":
print("우산을 챙기세요")
반복문
반복문을 통해 특정 작업을 여러 번 수행할 수 있도록 했습니다. for문과 while문을 사용하여 다양한 반복 구조를 만들어 보았습니다.
for waiting_no in range(1, 6):
print("대기번호 : {0}".format(waiting_no))
반복문을 활용한 실습 문제로 택시 승객 수를 구하는 프로그램을 작성했습니다. 무작위로 생성된 손님의 대기 시간을 기반으로 조건에 맞는 승객을 카운트하는 방식으로 진행했습니다.
10일차: 함수
마지막으로 함수에 대한 학습을 진행했습니다. 함수는 코드의 재사용성을 높여주는 중요한 요소입니다.
def open_account():
print("새로운 계좌를 개설합니다.")
입금, 출금, 수수료 계산 등의 기능을 가진 함수를 정의하며, 어떻게 인자를 전달하고 반환하는지에 대해 실습했습니다
def deposit(balance, money):
print("{0}원을 입금했습니다. 잔액은 {1}원입니다.".format(money, balance + money))
return balance + money
def withdraw(balance, money):
if balance >= money:
print("{0}원을 출금했습니다. 잔액은 {1}원입니다.".format(money, balance - money))
return balance - money
else:
print("잔액이 부족합니다. 잔액은 {0}원입니다.".format(balance))
return balance
def withdraw_night(balance, money):
commission = 100
print("업무 시간 외에 {}원을 출금했습니다.".format(money))
return commission, balance - money - commission
함수를 통해 프로그램을 더 구조화하고, 가독성을 높일 수 있음을 깨달았습니다.
2주차 마무리
2주차 학습을 통해 파이썬의 다양한 자료구조와 제어문, 함수에 대해 깊이 있게 이해할 수 있었습니다. 매일 조금씩 코드를 작성하는 과정을 통해 이론적 지식뿐만 아니라 실습을 통해 실제로 어떻게 활용할 수 있는지에 대한 통찰을 얻었습니다. 앞으로도 이러한 학습을 지속적으로 이어가며 더 깊이 있는 프로그래밍 능력을 키워나가고 싶습니다.