Python 23

[Python] 로또 당첨번호 추천 통계 적용

설계 1. 동행복권에서 받아온 역대 당첨 회차 데이터를 활용하여 이미 당첨된 번호를 모두 거르고 추천해준다. 과정 먼저 동행복권 사이트에서 회차별 당첨번호 데이터를 받아줍니다. 저희가 필요한건 당첨번호 데이터 뿐이니 미리 불필요한 데이터는 날려줍시다. 당첨번호와 년도만 남기고 싹다 날렸습니다. 이제 이 파일을 csv 형식으로 data/ 경로에 저장해줍니다. 이제 대충 준비는 끝났습니다. 코딩을 해보겠습니다. pandas를 임포트하여 아까 저장한 csv파일을 불러와줍니다. 다시 생각해보니 년도도 별 필요가 없을 것 같지만 이왕 이렇게 된거 결측치를 채우는 방법을 알아봅시다. fillna() 함수를 사용하여 위에 값을 아래에 그대로 넣어주는 전처리를 해주었습니다. 간단하죠? numpy를 임포트하여 넘파이의 ..

IT/Python 2023.10.17

[Python] 고양이 응용+ (다중 다운로드)

설계 1. 앞 포스팅의 랜덤 고양이 사진을 가져오는 기능에서 보완해 원하는 매수만큼 고양이 사진을 다운로드하는 기능을 추가했다. 2023.10.09 - [IT/Python] - [Python] 고양이 [Python] 고양이 설계 1. 랜덤 고양이사진 사이트에서 가져온 api를 사용해 랜덤한 고양이사진을 가져온다. 코드 import requests from PIL import Image from io import BytesIO import random # 고양이 이미지를 가져올 API 주소 cat_api_u rairo.tistory.com 코드 import requests from PIL import Image from io import BytesIO import random # 고양이 이미지를 가져올 A..

IT/Python 2023.10.09

[Python] 고양이

설계 1. 랜덤 고양이사진 사이트에서 가져온 api를 사용해 랜덤한 고양이사진을 가져온다. 코드 import requests from PIL import Image from io import BytesIO import random # 고양이 이미지를 가져올 API 주소 cat_api_url = "https://api.thecatapi.com/v1/images/search" # API를 호출하 고양이 이미지 정보 가져오기 response = requests.get(cat_api_url) data = response.json() # 이미지 URL 저장 cat_image_url = data[0]["url"] # 이미지 다운로드 및 노출 response = requests.get(cat_image_url) ca..

IT/Python 2023.10.09

[Python] 문자 대체 프로그램

설계 1. 원본글에서 대상 문자와 바꿀문자를 지정하여 문자열을 대체해준다. 코드 # 원본 문자열 original_string = str(input("원본 글 : ")) # 특정 문자열을 찾아서 다른 문자열로 대체 search_string = str(input("대상 문자 : ")) replacement_string = str(input("대체 문자 : ")) # 문자열 대체 modified_string = original_string.replace(search_string, replacement_string) # 결과 출력 print("원본 문자열:", original_string) print("변경된 문자열:", modified_string) 실행 실행 (PC) 마무리 오늘 너무 일찍 눈이 떠져서 짧은..

IT/Python 2023.10.06

[Python] 요트다이스 (Yacht)

설계 1. 보드게임 요트다이스를 파이썬으로 구현했다. 2. 다인용 게임인 요트다이스와 다르게 1인용으로 구현했다. 3. 점수표는 아래 참조 점수표 Ones 1이 나온 주사위 눈의 총합. 최대 5점. = 3점 Twos 2가 나온 주사위 눈의 총합. 최대 10점. = 6점 Threes 3이 나온 주사위 눈의 총합. 최대 15점. = 9점 Fours 4가 나온 주사위 눈의 총합. 최대 20점. = 12점 Fives 5가 나온 주사위 눈의 총합. 최대 25점. = 15점 Sixes 6이 나온 주사위 눈의 총합. 최대 30점. = 18점 Three of a Kind 동일한 주사위 눈이 3개 이상일 때,동일한 주사위 눈 3개의 총합. 최대 18점. = 18점 Four of a Kind 동일한 주사위 눈이 4개 이상..

IT/Python 2023.10.02

[Python] 범죄발생 및 검거현황 정리

설계 1. 범죄 검거에 관련된 데이터를 사용해 정보를 얻는다. 2. 이번 포스팅에서는 죄종별로 가장 검거율이 높은 지역을 찾아보았습니다. 코드 import csv area_list = ["강원","경기남부","경기북부","경남","경북","광주","대구","대전","부산", "서울","세종","울산","인천","전남","전북","제주","충남","충북"] crime_list = {} for area in area_list: file = open(f'범죄/죄종별_범죄발생_및_검거현황_{area}.csv', 'r') reader = csv.reader(file) for i in range(4): if i == 1: header = next(reader) else: next(reader) for row in ..

IT/Python 2023.09.26

[Python] pywebview 응용 2개

시작하기 전 1. pip install pywebview, pip install chess 를 꼭 해주셔야 합니다. 2. webview.create_window("타이틀", "주소") #창 생성 3. webview.start() #생성한 창 실행 코드 #로아와 전적검색 import webview def open_naver(char_name): webview.create_window("loawa", f"https://loawa.com/char/{char_name}", width = 1000) if __name__ == "__main__": char_name = str(input("캐릭터 이름을 입력해주세요 : ")) open_naver(char_name) webview.start() #체스판 출력 impo..

IT/Python 2023.09.25

[Python] 공약수를 찾는 프로그램

설계 1. 두 숫자의 공약수를 찾는 프로그램이다. 2. 1부터 두 숫자 중 낮은 수 까지 반복시켜 두 숫자 모두 나머지를 0으로 만족 시키는 숫자를 찾는다. 코드 def divisors(number1, number2): common = [] smaller = min(number1, number2) for divisor in range(1, smaller + 1): if number1 % divisor == 0 and number2 % divisor == 0: common.append(divisor) return common num1 = int(input("첫 번째 숫자를 입력 : ")) num2 = int(input("두 번째 숫자를 입력 : ")) divisor = divisors(num1, num2)..

IT/Python 2023.09.22

[Python] 배낭문제(0-1 knapsack problem) 알고리즘

설계 1. 배낭 문제(Knapsack Problem 냅색 프라블럼)는 조합 최적화의 유명한 문제이다. 간단하게 말하면, 한 여행가가 가지고 가는 배낭에 담을 수 있는 무게의 최댓값이 정해져 있고, 일정 가치와 무게가 있는 짐들을 배낭에 넣을 때, 가치의 합이 최대가 되도록 짐을 고르는 방법을 찾는 문제이다. 2. 배낭문제는 짐을 쪼갤 수 있는 경우의 분할가능 배낭문제(Fractional Knapsack Problem)와 짐을 쪼갤 수 없는 경우의0-1 배낭문제(0-1 Knapsack Problem) 두 가지로 나눌 수 있는데, 이번 게시글은 0-1 배낭문제(0-1 Knapsack Problem)을 다뤄보았다. 코드 def knapsack(values, weights, capacity): n = len(v..

IT/Python 2023.09.22