본문 바로가기

전체 글137

키보드 입력다뤄보기 , 갤러그 게임 만들기 먼저 pynput 를 깔아주고 키보드 값을 받을 수 있게 keyboard를 import 해준다. 그리고 키보드를 눌렀을 때와 뗐을 때의 함수를 만들어준다. listener = keyboard.Listener(on_press=key_press, on_release=key_release) 그리고 각각의 리스너에 만든 함수를 넣어주고 start()로 실행시켜준다. isActive는 종료될수 있게 만든 변수이다. global을 사용하여 전역변수로 바꾸어 준다. 그리고 esc를 누르면 종료될 수 있게 해준다. 갤러그 게임 키보드를 입력하면 저 별이 움직이고 틀에 닿으면 더이상 움직이지 않는 간단한 게임을 만들어 보겠다. 먼저 게임의 틀을 만들어 보겠다. 틀 만들기 먼저 guide로 옆 선을 만들어준다. print.. 2021. 11. 29.
if문과 함수를 만들어 가위바위보 만들어보기 print(f' 유저({user} vs {com} ) 컴퓨터') 여기서 f는 formatting 해주는 것으로 내가 입력한 user의 값과 com의 값을 표시해주는 역할을 한다. 이렇게 수행이 된다. 필요한 리스트와 딕셔너리를 적절히 사용하여 코드를 쉽게 짤 수 있도록 한다 2021. 11. 29.
리스트 접근 방법보기 import numpy as np label = ["학번", "국어", "영어", "수학", "총점", "최고", "최저", "평균"] student = [[2020001, (99, 89, 78)], [2020002, (96, 84, 98)], [2020003, (89, 75, 87)], [2020004, (93, 90, 67)], [2020005, (88, 91, 79)], [2020006, (78, 93, 99)], [2020007, (79, 87, 80)], [2020008, (80, 79, 85)], [2020009, (77, 99, 94)], [2020010, (95, 76, 95)]] 이렇게 접하고 싶다면 리스트의 값들을 적절하게 뽑아낼 줄 알아야 한다. for i in label: print.. 2021. 11. 29.
별 피라미드 만들어보기 먼저 사각형 만들어보기 for i in range(5): for j in range(5): print('*',end='') print() 두 번째 삼각형 만들기 for i in range(5): for j in range(i+1): print('*',end='') print() 세 번째 반대로 삼각형 만들기 for i in range(5): for k in range(5,i,-1): print(' ',end='') for j in range(i+1): print('*',end='') print() 네 번째 피라미드 for i in range(5): for k in range(5,i,-1): print(' ',end='') for j in range((i+1)*2-1): print('*',end='') p.. 2021. 11. 29.
예외처리와 쓰레드 프로그램에 있어서 예외처리를 잘 해주는 것은 매우 중요하다 기본적인 구조 try : except [발생오류 [as 오류 메세지 변수]]: 예제 try : print('문제 없는 구간 ') a=1/0 except Exception as ex: print(ex) => 문제없는 구간 division by zero 만약 0으로 나눈 것만 예외처리하려면 구체적인 에러를 적어주면 된다. except ZeroDivisionError: print('0으로 나누었습니다') finally : finally는 예외상황없어도 무조건적으로 실행되는 구간이다 인덱싱 에러처리 try: print('문제없는 구간') a = [0,1,2] print(a[4]) except IndexError: print('인덱싱 에러입니다.') ex.. 2021. 11. 29.
함수와 클래스 함수 함수란 기능을 말한다. 내가 원하는 기능을 만들고 필요할 대 갖다 쓸 수 있다. 함수의 선언은 def 함수명(입력파라미터): 문장1 문장2 return 으로 사용한다. def sum(a,b): return a+b a=1 b=2 c=sum(a,b) 그러면 c의 값은 3을 리턴받는다. 클래스 class Caculator: def__init__(self): pass def add(self, val1, val2): return val1+val2 cal1=Caculator() cal2=Caculator() print(cal1.add(2,3)) print(cal2.add(5,6)) => 5 11 상속 class divClass: def div(self, val1, val2): return val1/val2 c.. 2021. 11. 29.
딕셔너리 연관 배열 또시 해시라고 한다 key와 value로 이루어져 있다. 따라서 접근할 때 key로 접근하기 때문에 index를 사용하여 접근할 수 없다. {} 로 묶어주며 , 로 구분한다. key dic={'name':'홍길동', 'number':01011112222'} 접근은 print(dic['name']) 처럼 key로 접근할 수 있다. 추가 dic['city']='seoul' 이렇게 키 city에 값 seoul을 입력하여 추가해줄 수 있다. 삭제 del dic['number'] 앞에 del을 주어 삭제도 가능하다 중복 만약 키가 중복된다면 마지막 키의 값만 기억하고 나머진 무시한다. 딕셔너리 함수 keys, values, get, clear, in 함수를 지원한다. dic={'name':'홍길동', .. 2021. 11. 28.
for 문의 continue문 활용하기 디렉토리 dir01를 만들고 ls -la를 하면 현재 디렉토리 c, dir01 이 보인다. 하지만 이렇게 if 문에 -d옵션(디렉토리만 출력)을 주고 filr을 출력하게 하면 파일만 출력하게 할 수가 있다. 그러면 실행해도 파일만 출력되는 것을 볼 수 있다. 백업파일 만들기 백업 파일을 만들고 싶다면 cp(복사) 해당 파일을 선택하고 .bak로 백업파일을 만들어준다. 그러면 이렇게 백업파일이 만들어진 것을 알 수 있다 그러나 이럴 경우 실행할 때마다 백업파일의 백업파일이 만들어지게 된다. case.sh.bak.bak이렇게 말이다 따라서 이것도 조절을 해주어야 한다. 우선 백업 파일을 모두 지우기 위해 rm -rf ./*.bak(모든 파일에 대해 확장자가 .bak인 파일을 지워준다) if [ "${file.. 2021. 11. 22.
기획안 1. 프로젝트 설명 나의 문화생활 기록기 기본적으로 스파르타피디아의 영화기록하기를 구현해보고 싶다. url을 입력하면 해당 영화의 포스터 사진 제목 설명이 나오고 내가 입력한 별점과 코멘트를 넣을 수 있다. 다만 추가할 것은 영화뿐만 아니라 드라마도 넣어보고 싶고 가능하다면 읽었던 책도 넣어보고 싶다. 2. 구상도 3. 해야할 것 1. 수업 때 배웠던 db조작 크롤링 복습하면서 다시 해보기 2. 섹션을 드라마와 책도 추가했으니 페이지 추가해보기 3. 부트스트랩 활용하기 2021. 11. 13.
도메인 연결과 og태그 https://dns.gabia.com/ 웹을 넘어 클라우드로. 가비아 dns.gabia.com 가비아에 접속해준다. 로그인하고 사놓은 도메인명 선택하고 dns설정에 간다. 그 다음 호스트엔 @ 값/위치엔 ipv4번호를 넣어준다. 오직 숫자만 들어가야 한다. 그러면 확인, 저장을 해준다. 그러면 만든 ho-bolt.shop를 작성하면 접속이 가능해진다. 하지만 ip주소를 공유하려면 사진과 같이 나오면 더 보기가 좋다. 따라서 og태그를 넣어준다. 따라서 만든 사이트의 index.html에 이 코드를 넣어주고 서버를 종료하고 파일질라에서 뺐다가 다시 넣어주고 다시 실행시켜준다. 그러면 이렇게만 나가던게 조금 더 이쁘게 이렇게 나가게 된다. 2021. 11. 11.
서버 연결하기 https://ap-northeast-2.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-2 https://ap-northeast-2.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-2 ap-northeast-2.console.aws.amazon.com 위의 aws 들어가서 회원가입하고 인스턴스에 들어가서 시작을 눌러준다. ubuntu server 20.04(프리 티어)를 선택한다. 검토 및 시작 -> 시작하기를 눌러준다. 키 페어 생성을 해준다. 뭔가 수정하고 싶으면 인스턴스 중지를 하고 수정하고 다시 시작을 하면된다!! 위와 같이 뜬다. 그 다음 git.bash에 들어가서 ssh -i /c/Users/.. 2021. 11. 11.
계수 정렬 (Counting Sort) 계수 정렬의 시간 복잡도는 O(N)으로 굉장히 빠르다. 기존 정렬들과 다른 점은 각 인덱스에 위치한 값들을 서로 바꾸어주는 것이 아니라 값의 크기를 기준으로 개수를 세는 알고리즘이다. 단! 범위 조건이 있는 조건에 한해서만 빠른 알고리즘이다. 예시를 보면 1 ~5까지 범위의 제한이 있다. 1 2 1 3 5 3 4 2 1 5 2 4 3 1 2 3 2 5 5 2 3 2 1 5 5 4 2 3 1 1 만약 이렇게 되어있다면 1. 0인덱스 1 2 1 3 5 3 4 2 1 5 2 4 3 1 2 3 2 5 5 2 3 2 1 5 5 4 2 3 1 1 크기 1 2 3 4 5 개수 1 0 0 0 0 2. 1 인덱스 1 2 1 3 5 3 4 2 1 5 2 4 3 1 2 3 2 5 5 2 3 2 1 5 5 4 2 3 1 1 .. 2021. 11. 9.