728x90
반응형

python 105

[pygame] 04. 코드 클래스화

🙆‍♂️ 클래스화 저번 게시글에서 캐릭터를 추가하는데 너무 많은 코드가 늘어났습니다. 앞으로도 다양하게 추가해야할 부분들이 많을텐데 그 때마다 이런식으로 하기에는 너무 힘듭니다. 그렇기 때문에 클래스를 사용해서 겹치는 코드들은 간단하게 표현하도록 하겠습니다. #클래스 생성 class createObj: def __init__(self): 함수를 선언하기 위해서는 class로 선언할 수 있습니다. 그리고 가장 먼저 __init__이라는 함수를 생성하는데 이는 생성자로 시작할 때 생성될 변수들을 넣어줍니다. x,y 좌표가 필요할 것 같습니다. class createObj: def __init__(self): self.x = 0 self.y = 0 이렇게 x좌표와 y좌표가 들어갈 값을 0으로 초기화 해주고 나..

앱 개발/pygame 2022.09.19

[pygame] 03. 캐릭터 넣기

🙆‍♂️ 사진 불러오기 # 3. 게임 내 필요한 설정 . . . hero = pygame.image.load(r'image\blackEagle.png').convert_alpha() 먼저 위의 코드처럼 설정을 해줬습니다. jpg 파일이라면 .conver_alpha() 부분을 적지 않아도 되지만 png파일이라 적었습니다. 경로는 절대경로로 해도 되고 상대경로로 해도 되는데 다른 컴퓨터에서 실행하기 위해서는 상대경로가 편하기 때문에 상대 경로를 이용했습니다. 제 파일은 이렇게 jupyter파일인 .ipynb파일과 image 폴더가 같은 위치에 있기 때문에 바로 imgae 폴더로 이동해서 해당 사진과 접촉할 수 있었습니다. 그리고 자세히 보면 문자열 앞에 r을 써서 원시 문자열로 처리해주는 것인데 파일 경로에..

앱 개발/pygame 2022.09.17

[웹크롤링] 03. beautifulsoup4

🙆‍♂️개념 웹 스크래핑을 위해서 beutifulsoup4를 설치해서 사용해야 합니다. https://pypi.org/project/beautifulsoup4/ beautifulsoup4 Screen-scraping library pypi.org 해당 라이브러리는 위에서 설명해줍니다. 저는 Anaconda의 Jupyter-notebook을 사용하기 때문에 설치되어 있답니다. 이 때 주의할 점이 웹 스크래핑을 할 때 상업적으로 이용할 목적이라면 아주아주 조심해야 합니다. 이용약관과 법을 잘 찾아서 해보시구 저는 비 상업적 목적으로 진행할 예정입니다. 🙋‍♂️ 학사 공지사항 가져오기 from requests import get base_url="https://community.bu.ac.kr/info/178..

[웹크롤링] 02. requests 라이브러리

🙆‍♂️ requests 라이브러리 pypi에 등록되어 있는 다양한 프로젝트와 라이브러리 중 requests라는 라이브러리를 사용해서 파이썬 코드로 웹 사이트로 request를 보낼 것입니다. https://pypi.org/project/requests/ requests Python HTTP for Humans. pypi.org 설치는 위의 문서를 통해서 할 수 있습니다. 저는 anaconda의 jupyter-notebook을 사용해서 따로 설치를 하지 않아도 있습니다! import requests 이렇게 사용해도 되구 from requests import get 이렇게 사용해도 됩니다. 이렇게 사용할 것입니다. from requests import get webs=( "google.com", "airb..

[웹크롤링] 01. URL 포맷하기

🙆‍♂️ URL Formatting 먼저 URL Format을 해줘야 합니다. https가 있어야 웹 사이트 이동이 가능합니다. 그래서 https가 붙어있는 string은 그냥 이동하고 아니라면 https를 붙여서 이동해주는 작업이 필요합니다. webs=( "google.com", "airbnb.com", "https://www.naver.com", "twitter.com" ) for web in webs: if web.startswith("https://"): print(True) else: print(False) 우선 위의 코드를 보면 webs 튜플에 website들이 등록되어 있습니다. 그 밑에 for문을 보면 webs의 데이터들을 startwith 이라는 메소드를 통해서 값이 https://로 시..

[백준][Python] 1259. 팰린드롬수

🙆‍♂️문제 🙋‍♂️풀이 🚀 입력받기 & 문제 풀이 핵심 ans = [] while 1: try: n = list(input()) if n[0] == '0': break else: r=list(reversed(n)) if n==r: ans.append('yes') else: ans.append('no') except: break 먼저 답을 저장할 ans 리스트를 만듭니다. 그리고 try except문을 만들어 0이 입력되면 입력을 종료하도록 합니다. n이라는 변수에 수가 입력되면 한 숫자씩 리스트로 입력받게 합니다. 1231을 입력하면 이렇게 '1', '2', '3', '1'로 저장됩니다. 그리고 이제 이 리스트를 거꾸로 뒤집어서 r이라는 변수에 넣고 n과 r을 비교했을 때 같으면 팰린드롬수가니까 ans..

[pygame] 01. 게임 초기화와 게임 초기 설정

🙆‍♂️ 게임 초기화 # 1. 게임 초기화 pygame.init() 게임 초기화는 간단하게 pygame의 내장 함수인 init()함수를 사용하면 됩니다. 🙆‍♂️ 게임 창 옵션 설정 # 2. 게임 창 옵션 설정 size = [400,900] screen = pygame.display.set_mode(size) 먼저 화면 크기는 [가로, 세로]의 값을 설정해주는데 설정한 값을 size변수에 넣고 pygame의 display의 내장 함수인 set_mode의 인자값으로 넘깁니다. 그리고 이 코드를 screen이라는 변수로 저장합니다. 나중에 계속해서 사용하기 때문입니다. title = "Korea 1947" pygame.display.set_caption(title) 그리고 이렇게 게임 제목을 정할 수 있습니..

앱 개발/pygame 2022.09.05

[백준][Python] 17298. 오큰수

🙆‍♂️문제 🙋‍♂️풀이 수열이 주어집니다. 이 수열에 있는 값 중 하나를 Ai라고 했을 때 오큰수는 수열 중 Ai보다 큰 수 중 가장 왼쪽에 있는 수를 의미합니다. 🚀 입력받기 import sys n = int(sys.stdin.readline()) arr = list(map(int, sys.stdin.readline().split())) 우선 수열의 길이 n과 수열 arr을 입력 받습니다. 🚀 문제 풀이 핵심 stack = [] answer=[] for i in range(n): answer.append(-1) maxNum = max(arr) for i in range(n): if len(stack) == 0: stack.append(i) else: while 1: if arr[i] > arr[sta..

[백준][Python] 10799. 쇠막대기

🙆‍♂️문제 🙋‍♂️풀이 괄호를 통해서 막대기수와 레이저 수를 구해서 풀어야 합니다. 스택 구조를 이용해서 풀 수 있습니다. 🚀 입력받기 import sys msg = list(sys.stdin.readline()) 먼저 괄호들을 하나하나 문자로 입력받아 msg 리스트에 저장합니다. 🚀 문제 풀이 핵심 br = []; total = 0 for i,v in enumerate(msg): if v == '(': br.append('(') elif v == ')': if msg[i-1] == '(': br.pop(-1) total += len(br) else: br.pop(-1) total+=1 br리스트를 스택으로 사용하고 total 변수에 모든 값을 저장합니다. enumerate를 사용해서 msg리스트의 인..

728x90
반응형