Python 9

파이썬 String을 활용한 Caesar Cipher / Vigenère Cipher 구현 프로젝트

이번 프로젝트에서는 문자열을 활용해 고전 암호 기법인 Caesar Cipher와 Vigenère Cipher를 구현해보고, 이를 해독하는 방법까지 단계별로 정리해보았다.Step 1: Caesar Cipher란?Caesar Cipher는 고대 로마의 카이사르가 사용하던 고전 암호 방식으로, 알파벳을 일정한 수만큼 "밀어서" 암호화하는 방식이다. 파이썬의 문자열 조작을 이용하여 암호문과 오프셋을 파라미터로 하는 암호문 Decode 함수를 아래와 같이 구현할 수 있다.def caesar_decode(message, offset): alphabet = "abcdefghijklmnopqrstuvwxyz" translated = "" for char in message: if char ..

Python 2025.04.19

파이썬 String 조작 실습

파이썬으로 사용자 이름과 비밀번호 생성기 만들기문자열 조작 실습웹서비스 또는 애플리케이션 개발 시, 사용자 계정을 생성하는 기능은 매우 기본적이면서도 중요하다. 본 글에서는 파이썬(Python)을 활용하여 사용자의 이름으로부터 간단한 아이디(username)와 비밀번호(password)를 생성하는 방법을 다룬다.문자열(string) 처리와 관련된 조건문, 슬라이싱(slicing), 반복문 등 기초 문법을 종합적으로 활용하는 좋은 연습이 된다.1. 사용자 이름 생성기 (username_generator)def username_generator(first_name, last_name): if len(first_name) 함수 설명:first_name(이름)과 last_name(성)을 인자로 받아 새로운 사..

Python 2025.04.05

파이썬으로 JSON API 데이터 추출 및 CSV 변환하기

– requests와 csv 라이브러리를 활용한 실습 정리웹에서 제공되는 공공 API 데이터를 프로그램적으로 추출하고, 이를 CSV 파일로 저장하는 작업은 데이터 분석의 첫 단계에서 매우 자주 사용된다. 이번 포스팅에서는 미국 센서스국(Census Bureau)에서 제공하는 JSON 데이터를 파이썬의 requests와 csv 표준 라이브러리를 활용하여 CSV 파일로 저장하는 과정을 실습을 통해 정리하였다.1. requests.get() 함수로 API 데이터 요청하기import requestsr = requests.get('https://api.census.gov/data/2020/acs/acs5?get=NAME,B08303_001E,B08303_013E&for=county:*&in=state:36')re..

Python 2025.04.05

Python 반복문(Loop)과 리스트 실습

Python에서 반복문(loop)은 리스트나 컬렉션을 다룰 때 매우 유용하게 사용된다.이번 실습에서는 for문, while문, list comprehension을 활용하여 리스트를 생성하고 조작하는 다양한 방법을 살펴보았다.1. 숫자 리스트 생성먼저, range() 함수를 사용하여 0부터 9까지의 숫자를 포함하는 리스트를 생성했다.single_digits = list(range(10))print(single_digits)range(n): 0부터 n-1까지의 정수 시퀀스를 생성한다.list(range(n)): 생성된 range 객체를 리스트로 변환한다.출력 결과:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]2. for문을 사용한 리스트 요소 반복Python의 for문을 활용하여 single_dig..

Python 2025.04.03

파이썬 리스트 함수 실습

파이썬 리스트는 데이터를 효율적으로 저장하고 관리할 수 있는 강력한 자료구조이며, 다양한 내장 메서드를 활용하면 더욱 유용하게 사용할 수 있다.1. len() 함수로 리스트 길이 구하기inventory_len = len(inventory)len() 함수는 리스트의 총 길이(아이템 개수) 를 반환한다.inventory 리스트에 있는 가구 개수를 계산하여 inventory_len 변수에 저장한다.예제 결과:print(inventory_len) # 192. pop() 함수로 리스트 요소 제거first = inventory.pop(0)last = inventory.pop(-1)pop(index) 함수는 리스트에서 특정 인덱스의 요소를 제거하고 반환한다.pop(0): 첫 번째 요소를 제거하고 반환pop(-1):..

Python 2025.04.02

Map, Lambda, Filter in Python

[리스트 예시]people = [ {'name': 'bob', 'age': 20}, {'name': 'carry', 'age': 38}, {'name': 'john', 'age': 7}, {'name': 'smith', 'age': 17}, {'name': 'ben', 'age': 27}, {'name': 'bobby', 'age': 57}, {'name': 'red', 'age': 32}, {'name': 'queen', 'age': 25}][Map 함수]Map 함수는 주어진 함수와 반복 가능한 객체(ex.리스트)를 인수로 받아, 반복 가능한 객체의 각 요소에 대해 함수를 적용한 결과를 반환한다.def check_adult(person): return (..

Python 2024.06.06

단어 맞추기 게임

[문제]단어를 주어진 기회 안에 맞추는 게임을 만들어보세요컴퓨터가 랜덤으로 영어단어를 선택합니다.영어단어의 자리수를 알려줍니다.ex ) PICTURE = 7자리사용자는 A 부터 Z 까지의 알파벳 중에서 하나를 선택합니다.맞출 경우 해당 알파벳이 들어간 자리를 전부 보여줍니다.틀릴 경우 목숨이 하나 줄어듭니다.사용자가 9번 틀리면 게임오버됩니다.게임오버 되기 전에 영어단어의 모든 자리를 알아내면 플레이어의 승리입니다.[시도]1. 랜덤으로 영어단어를 선택하기 위해 random 모듈을 import한 후 choice함수를 통해 랜덤한 영어단어를 선택하였다.2. 맞출 경우 해당 알파벳이 들어간 자리를 전부 보여주기 위해 computer answer list(comp_answer)와는 별개로 user answer ..

Python 2024.05.29

자판기 프로그램

[문제]파이썬 코드를 이용해 자판기를 만들어보세요.사용자가 볼 수 있게 메뉴를 표시합니다.   다음과 같은 음료를 실행창에 표시합니다.   사이다 1,700원   콜라 1,900원   식혜 2,500원   솔의눈 3,000원사용자는 음료를 선택할 수 있습니다.   사용자에게 어떤 음료를 살 것인지를 입력받습니다.   ex) 사이다   목록에 없는 음료일 경우 실행이 종료됩니다.사용자는 지불할 금액을 입력할 수 있습니다.  사용자에게 얼마를 넣을지 입력받습니다.   ex) 2000   지불하는 금액이 선택한 음료의 비용보다 작다면 “돈이 부족합니다.” 를 출력합니다사용자는 음료를 구매하고 남은 잔액을 확인할 수 있습니다.   잔액을 화면에 표시합니다.   ex) 입력한 돈 2000원, 사이다 1700원 일..

Python 2024.05.29

랜덤 닉네임 생성기

[문제]랜덤한 닉네임을 생성하는 파이썬 코드를 작성해보세요.사용자는 최소 27가지 이상의 닉네임 중 하나를 랜덤으로 print 할 수 있습니다. (아래의 키워드를 사용해주세요!)  기철초풍, 멋있는, 재미있는  도전적인, 노란색의, 바보같은  돌고래, 개발자, 오랑우탄[시도]random 라이브러리를 import하고 choice 함수를 사용함으로써 리스트에서 랜덤한 element를 추출하고자 하였다.  [해결]import randomlist1 = ['기철초풍', '멋있는', '재미있는']list2 = ['도전적인', '노란색의', '바보같은']list3 = ['돌고래', '개발자', '오랑우탄']def random_nickname(): return str(f'{random.choice(list1)} ..

Python 2024.05.29