프로젝트: 간단한 주소록 관리 시스템
·
Python
# 📚 간단한 주소록 관리 시스템## ✅ 프로젝트 개요**목표:**- 사용자로부터 연락처 정보를 입력받아 관리하고, 원하는 조건에 따라 연락처를 검색할 수 있는 간단한 주소록 관리 시스템을 구현합니다.**기능:**1. **연락처 추가**: 사용자의 이름, 전화번호, 이메일 주소를 입력받아 주소록에 추가합니다.2. **연락처 목록 보기**: 저장된 모든 연락처의 정보를 화면에 출력합니다.3. **연락처 검색**: 사용자로부터 검색 키워드를 입력받아, 해당 키워드가 이름에 포함된 연락처 정보를 출력합니다.4. **연락처 삭제**: 사용자로부터 이름을 입력받아, 해당하는 연락처 정보를 주소록에서 삭제합니다.5. **연락처 정렬**: 연락처 목록을 이름 순서로 정렬하여 출력합니다.6. **제너레이터를 이용한 ..
[[OZ코딩스쿨] 초격차 캠프 - 10일차 (함수) 심화 문제풀이
·
Python
📌 Python 함수 포맷 정리✅ 1. 사용자 입력 함수 (greet_user)def greet_user(): name = input("이름을 입력하세요: ") age = input("나이를 입력하세요: ") if age.isdigit(): age = int(age) if age ✅ 2. 가변 매개변수로 합계 반환 (sum_numbers)def sum_numbers(*numbers): return sum(numbers)print(sum_numbers(1, 3, 5, 7))✅ 3. 기본값을 가진 이름 출력 함수 (print_name)def print_name(name="익명"): print(name)print_name()print_name("이상인")✅..
📌 Python 학습 과정 – 이해와 반복의 중요성
·
Python
📌 Python 학습 과정 – 이해와 반복의 중요성✅ 1. 왜 프로그래밍이 이렇게 어려울까?프로그래밍은 한 번에 쉽게 이해되는 분야가 아닙니다.조건문, 반복문, 함수, 재귀, 자료구조 등 많은 개념들이 서로 연결되어 있어 복잡하게 느껴질 수 있습니다.특히, 머리로만 이해하려고 하면 더 어려워질 수 있습니다.❗️ 정상적인 과정입니다.처음엔 "왜 이렇게 이해가 안 될까?"라는 고민이 생기는 게 정상입니다.하지만 이런 혼란은 누구나 겪는 과정이며, 반복을 통해 극복할 수 있습니다.✅ 2. 지금 하고 있는 학습 방법은 잘하고 있는 걸까?✔️ 지금처럼 이론과 코드의 흐름을 먼저 이해하려는 과정은 정말 잘하고 있는 겁니다!무작정 코드를 따라 쓰는 것보다, '왜 이렇게 동작하는가'를 고민하는 과정이 훨씬 실력 향상..
✅ 개발자로서 실력을 향상시키는 방법 (함수와 내장 함수 활용)
·
Python
📌 Python 함수 심화 – 실력 향상과 함수화 연습✅ 1. return을 사용하는 이유와 역할값을 반환하기 위해 사용: 함수가 실행된 결과값을 호출한 위치로 전달.함수 종료: return을 만나면 함수가 즉시 종료되고, 이후 코드는 실행되지 않음.def add(a: int, b: int) -> int: return a + bresult = add(3, 5)print(result)출력 결과8✅ 2. 마이크로 모듈화와 함수화 연습함수를 작은 기능 단위로 쪼개어 재사용성과 유지보수성을 높이기.def is_even(number: int) -> bool: return number % 2 == 0def square(number: int) -> int: return number ** 2def p..
[[OZ코딩스쿨] 초격차 캠프 - 10일차 (함수) Chapter 6-12. 타입 어노테이션과 힌트
·
Python
📌 Python 함수 심화 – Chapter 6-12. 타입 어노테이션과 힌트✅ 1. 파이썬의 동적 프로그래밍파이썬은 동적 프로그래밍 언어로, 인터프리터가 실행 시 타입을 추론.변수의 타입을 자유롭게 변경할 수 있음.num = 10print(type(num))num = "10"print(type(num))출력 결과설명: 파이썬은 타입을 고정하지 않기 때문에 값에 따라 타입이 자유롭게 변경됨.❗ 대규모 프로젝트에서는 이러한 유연성이 버그로 이어질 수 있어, 타입 힌팅을 통해 명시적으로 타입을 지정하는 것이 좋음.✅ 2. 타입 힌팅 (주석 방식)def oz(x, y, h): # type: (int, int, int) -> int return x * y * hoz(10, 10, 10)출력 결과10..
[[OZ코딩스쿨] 초격차 캠프 - 10일차 (함수) Chapter 6-11. 제너레이터
·
Python
📌 Python 함수 심화 – Chapter 6-11. 제너레이터✅ 1. 제너레이터란?제너레이터는 이터레이터를 생성하는 객체.함수 내부에서 yield 키워드를 사용해 정의.이터레이터는 next() 메서드를 사용해 순차적으로 값을 반환할 수 있는 객체.특징yield가 있는 함수는 호출 시 제너레이터 객체를 반환.next() 호출 시 yield를 만나기 전까지 실행되며, yield 값을 반환하고 실행을 일시 중지함.더 이상 반환할 값이 없으면 StopIteration 예외가 발생.def test(): print("제너레이터 실습 코드입니다.") yield "test"print("첫번째 출력")test()print("두번째 출력")test()print(test())출력 결과첫번째 출력두번째 출력설..
[[OZ코딩스쿨] 초격차 캠프 - 10일차 (함수) Chapter 6-10. 람다
·
Python
📌 Python 함수 심화 – Chapter 6-10. 람다✅ 1. 람다란?람다(lambda) 함수는 이름이 없는 익명 함수.주로 일회성으로 사용할 함수에 활용되며, 코드를 간결하게 작성할 수 있음.기본 구조lambda 매개변수: 반환값📌 함수 매개변수로 전달하는 예시def oz_call(function): for i in range(5): function()def talk(): print("파이썬 이건 또 무슨 개념이야?")oz_call(talk)출력 결과파이썬 이건 또 무슨 개념이야?파이썬 이건 또 무슨 개념이야?파이썬 이건 또 무슨 개념이야?파이썬 이건 또 무슨 개념이야?파이썬 이건 또 무슨 개념이야?✅ 2. 함수를 매개변수로 사용하는 내장함수📌 map() 함수 예시de..
[[OZ코딩스쿨] 초격차 캠프 - 10일차 (함수) Chapter 6-9. 튜플
·
Python
📌 Python 함수 심화 – Chapter 6-9. 튜플✅ 1. 튜플이란?**튜플(Tuple)**은 리스트와 비슷한 시퀀스 자료형.리스트와의 차이점: 요소의 수정, 추가, 삭제가 불가능하여 **불변성(Immutable)**을 가짐.**소괄호 ()**를 이용하여 생성.# 튜플 생성oz_tuple = (1, 2, 3)print(oz_tuple)print(oz_tuple[0])print(oz_tuple[1])print(oz_tuple[2])출력 결과(1, 2, 3)123✅ 2. 튜플 데이터 변경 불가oz_tuple = (1, 2, 3)oz_tuple[0] = 5 # 오류 발생출력 결과TypeError: 'tuple' object does not support item assignment설명: 튜플은 불변..