1. menus.txt 에 까페에서 파는 [메뉴이름 가격 수량] 을 기록한다. 더보기 iceame 5000 100 caffemoca 4000 50 2. 모든 메뉴의 수량이 0이 되면 프로그램을 종료한다. 3. 판매를 할 경우 영수증을 파일(receipt.txt)에 주문 내역을 저장한다. 4. 관리자 모드에서는 id.txt 파일에 있는 계정으로 로그인 할 수 있다. 더보기 admin 1234 admin1 12345 5. 관리자 모드에서는 id.txt 파일에 계정을 추가할수 있다. 6. 관리자 모드에서는 메뉴의 추가/수정/삭제 가능하다. import datetime import os.path def read_file(path): with open(path, 'r') as f: return list(map(l..
1. 탈중앙화 - 은행의 모든 고객의 입출금 내역을 중앙에서 가지고 있는 방식이 중앙집중화 방식이다 - 중앙에 모든 리스크를 감수해야 하는 단점이 있다 - 모든 유저들이 입출금 내역의 조각들을 가지고 있고 그것들을 모아서 유효성을 체크하는 방식 2. 해시를 이용한 무결성 - 블록체인은 해시의 무결성을 이용한 방법 - 블록안에 모든 정보를 바탕으로 해시를 생성한다 - 블록이 가진 정보에는 반드시 이전 블록의 해시도 가지고 있어야 한다. 3. 유효성 체크 - 어떤 블록 x 는 x가 가진 해시와 x가진 정보를 바탕으로 해시값을 계산했을 때 동일해야 한다. > self.hash == self.cal_hash() - 이전 블록의 cal_hash() 와 현재 블록이 가지고 있는 이전블록의 해시값은 값아야 한다. 4..
1. 원본 문자열을 컨버팅 하고 그것을 A 라고 칭함 > 컨버팅: 해시(hex) > 2진수 변환 2. 원본 문자열 에서 순차적으로 순회하면서 알파벳일때만 바로 다음(a>b, b>c) 로 변환한다. > 단 다음이 없는 경우는 바로 이전것으로 변환한다. (z > y) 3. 2번을 컨버팅 한것 하나 하나가 B 이라고 칭하고 A 와 모든 B들을 하나하나 XOR 연산을 한다. 4. XOR 연산을 한 결과들을 그래프로 그린다. def to_hash(string): import hashlib encode_str = string.encode() return hashlib.sha1(encode_str).hexdigest() def to_bin(hex_str): return bin(int(hex_str, 16)) def ..
연락처(이름, 전화번호, 이메일)을 추가, 삭제, 검색, 합치기(연락처+연락처) 등의 기능을 가진 클래스를 구현해 보자 class Contact: def __init__(self, name=None, phone=None): self.name = name self.phone = phone def __eq__(self, other): return any([v1 == v2 for v1, v2 in zip(self.__dict__.values(), other.__dict__.values())]) def __str__(self): return f"{self.__dict__}" class Book: def __init__(self, pages=None): self.pages = pages if pages else ..
파이썬은 프로그래밍 언어로써 확고한 지위를 차지할 수 있었던 몇가지 이유가 있다. 기존 builtins 라이브러리에 추가로 서드 파티 즉 외부 라이브러리가 방대하고 강력한게 많다. 그러나 너무 많기 때문에 빛을 보지 못하고 잊혀지는 아까운 라이브러리 들도 있다. 또 한 한 영역에만 집중적으로 작업하는 프로그래머는 다른 유형의 작업을 위해 만들어진 라이브러리를 통해 얻을 수 있는 유익한 부분을 미쳐 모르는 경우가 있다. [Pillow] 이미지 처리에 경험이 있다면 대부분의 파이썬 사용자들은 PIL(파이썬 이미지 라이브러리)에 익술 할 것이다. 그러나 PIL 은 제약이 많으며 업데이트가 잦지 않다는 단점이 있다. 필로우는 PIL 보다 더 사용하기 쉬우면서도, 최소한의 변경만으로 PIL 와 코드 호환성을 확보..
[sqlite3 table : export, import ] db 파일의 table 을 csv 로 export, import 해보자 [csv db] csv 파일이름은 table 이름 첫째줄은 테이블의 필드 이름들 둘째줄부터 필드의 값들이 들어간다. [커맨드] import test.db 위의 커맨드를 입력하면 현재 root.py 가 실행되는 폴더의 모든 csv 파일을 test.db 로 생성 하자(위의 포멧 참조) show test.db 위 커맨드로 test.db 의 테이블과 필드들을 출력한다. export test.db 입력하면 test.db 의 모든 테이블과 내용을 csv 파일로 export 하자1개의 테이블단 1개의 csv 파일로 생성한다.현재 폴더에 생성한다.(위의 포멧 참조) [예외처리] expor..
[lv1] - 플레이어 객체를 만든다 (Player)class Player: [lv2] - 생성자에는 가위, 바위, 보 확률 3개를 각각 0~100 까지 정수로 정의한다.> 3개 합은 정확히 100이 되어야만 한다. home = Player(30, 50, 20) [lv3] - Player 클래스에서 match() 를 작성한다.> 매개변수는 Player 인스턴스 2개를 받는다 예시)home = Player(30, 50, 20) away = Player(50, 30, 20) Player.match(home, away) - 출력 첫줄에는 홈, 어웨이의 결과와 승패를 다음과 같이 출력한다.- 둘째 줄에는 현재까지 승수(승률) 패수(패률) 무승부수(무승부율)을 홈, 어웨이 각각 다음과 같이 출력한다. 출력)mat..
[조건] - 계산기에 들어갈 수식을 생성한다. 인자값ops : 연산자의 갯수max: 숫자의 최대값bk: 연산자 하나당 괄호의 생성 확률types: 사용할 연산자 타입들 리턴값수식 문자열 예시create(ops=10, max=10000, bk=30, types="+-*/") 연산자의 갯수는 10개숫자는 모든 숫자는 0~10000 까지 중에 랜덤한 값연산자 당 괄호가 생성될 확률은 30%사용할 연산자들은 +-*/ generator.pyfrom random import randrange, choice def _test(ops: int, max_: int, bk: int, types: str): """ >>> _test(ops=100, max_=10000, bk=30, types="+-*/") True """ ..
[연락처(common dict) ] 폰트 사이즈 12 고딕 폰트 사이즈 12 고딕 폰트 사이즈 12 고딕 폰트 사이즈 12 고딕 폰트 사이즈 12 고딕 class Contact: tokens = [] file = "out.csv" @classmethod def set_tokens(cls, *args): cls.tokens = [arg for arg in args] @classmethod def set_file(cls, file): cls.file = file def __init__(self): self.members = list() @classmethod def to_member(cls, **kwargs): info = {} for token in Contact.tokens: info[token] = k..
[요구조건] 아래 조건에 맞는 계산기 클래스를 작성하시오 사칙연산(+-*/) 와 괄호() 사용 가능 - eval() 함수 사용 금지 - 입력식이 오류 없으면 결과를 리턴(float) 아닐땐 "Invalid syntax" 리턴 - 숫자 + 공백(n개) + 숫자 오류 - 연산자 + 공백(n개) + 연산자 오류 - 잘못된 괄호 일때는 오류 - 0으로 나눌때 try, except 처리(에러발생하면 안됨) - 123+345+(234) 정상 동작 [난이도] lv 1 > +- 만 가능 lv 2 > +-*/ 까지 가능 lv 3 > +-*/ () 지원 lv 4 > 위에 언급한 입력식 오류 예외처리 postfix import doctest def postfix(expression): stack = [] for elemen..
- Total
- Today
- Yesterday
- Tistory
- pycrypto
- django chatbot
- 문과 코딩
- PuTTYGen
- django
- 장고 카톡 자동응답
- 엑셀 비교
- 플러스친구 자동응답
- 파이썬 입문
- 면접정답
- chatbot
- wsgi
- gitlab
- 모바일 테마 적용
- 파이썬
- GIT
- 장고 플러스친구 자동응답
- 파이썬 강좌
- 파이썬 독학
- Python
- 파이썬 프로그래밍
- 모바일 스킨 적용
- 장고
- 문서 비교
- 면접답변
- virtualenv
- admin.py
- 이미지 비교
- gitignore
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |