Python
-
tkinter로 qrcode 출력Python/이것저것 파이썬 2021. 11. 19. 14:44
구글링 해보니 pyqrcode를 사용한 코드들이 많이 보이던데요. https://stackoverflow.com/questions/69240727/create-a-qrcode-using-tkinter pyqrcode는 2016년 이후 업데이트가 없었습니다. https://pypi.org/project/PyQRCode/#history 2021년에도 꾸준히 업데이트되고 있는 'qrcode'라는 라이브러리가 있더군요. https://pypi.org/project/qrcode/#history qrcode와 tkinter를 같이 사용하는 법을 구글링 해보았으나 찾기 힘든 검색어 조합이라 그런지 찾을 수 없었습니다.... qrcode 파일을 생성하는 방법만 있더군요... 그래서 직접 해결을 했습니다. 별로 어렵지 ..
-
[파이썬/동적계획법] 동전 거스름돈 계산Python/파이썬 자료구조 알고리듬 2021. 11. 17. 10:05
최근 7일 통계 중에 배낭 문제가 1위길래... 옛 글을 다시 읽어보니... 동전 거스름돈을 언급만 하고... 풀지 않았더군요. https://comdoc.tistory.com/entry/35-%EB%B0%B0%EB%82%AD%EB%AC%B8%EC%A0%9CKnapsack-problem-%ED%8C%8C%EC%9D%B4%EC%8D%AC 그리디는 간단해서 원문에 추가했습니다만... 그 외는 내용이 많아서 새 포스트로 올려봅니다. 1. 그리디 알고리듬(탐욕법) 우리나라 동전은 500, 100, 50, 10, 5, 1원이 있습니다. 이 상황에서는 그리디 알고리듬으로 문제를 풀 수 있습니다. 각 단계에서 최선의 값을 구하는 것이 전체적으로도 맞는 답이 됩니다. * 간략한 코드를 위해 동전은 크기가 큰 순서대로 ..
-
파이썬으로 이메일(gmail) 보내기..Python/이것저것 파이썬 2021. 11. 14. 20:03
페이스북 코딩 모임에 올라온 글. 이름, 이메일, 쿠폰 번호가 들어있는 다음 CSV 파일을 이용해 이메일을 보내는 코드를 작성하십시오. 단. 파이써닉하게~! 재미있을 것 같아서... 한 번 작성해 보았습니다. list.csv 1,김씨,kim@test_email.com,1111 2,이씨,lee@test_email.com,2222 3,정씨,jung@test_email.com,3333 1. 답답한 스타일입니다. 딕셔너리나 리스트에 CSV파일의 데이터를 넣은 뒤 메일을 보냅니다. * gmail을 이용하려면, 구글 계정의 보안 수준이 낮은 앱 허용을 체크해야 합니다. * 코드 내의 비밀번호 유출 주의~! from csv import reader from email.mime.text import MIMEText f..
-
tkinter를 class와 함께 사용하면 image가 사라져요.Python/이것저것 파이썬 2021. 11. 10. 08:01
Without Class 클래스를 쓰지 않으면 이미지가 잘 출력됩니다. (JPEG 파일은 지원하지 않으니 PNG나 GIF를 이용합니다.) from tkinter import * root = Tk() root.title('컴닥') root.geometry('640x480') image = PhotoImage(file='test.png') # jpeg 파일은 지원하지 않습니다. label = Label(root, image=image, relief='sunken') label.pack() root.mainloop() With Class 같은 코드를 클래스로 옮겨 봅니다. from tkinter import * class App: def __init__(self, root): image = PhotoImage..
-
파이썬 Tkinter 가볍게 시작하기Python/이것저것 파이썬 2021. 11. 10. 08:01
2줄의 코드로 시작합니다. from tkinter import * Tk().mainloop() 임포트 문에 *을 사용하는 것은 일반적으론 추천되지 않습니다. 하지만, GUI 프로그래밍에는 임포트할 것들이 너무 많습니다. 파이썬 공식 tkinter 문서에도 *가 사용됩니다. GUI 객체와 루프를 돌려주는 메서드만 있으면 창을 볼 수 있습니다. 코드를 나눠볼까요? from tkinter import * root = Tk() root.mainloop() Tk 클래스에서 root라는 인스턴스를 만들고, root 인스턴스의 루핑 메서드를 실행합니다. root 인스턴스 설정 from tkinter import * root = Tk() root.title('컴닥') root.geometry('640x480') roo..
-
[파이썬] from itertoolsPython/파이썬 자료구조 알고리듬 2021. 11. 8. 14:09
파이썬의 이터툴즈 중 조합형 이터레이터에 대해 알아보겠습니다. 조합형 이터레이터는 다음 4가지가 있습니다. product(), permutations(), combinations(), combinations_with_replacement() 가장 익숙한 순열부터 보도록 하죠. permutations(순열) 고등학교 교육과정에서 배운 개념. '순'열에는 '순'서가 있습니다. from itertools import permutations print(tuple(permutations((1, 2, 3)))) # ((1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)) 3가지 원소를 1열로 세운다면... 모든 경우의 수는 3! 이죠. 3 * 2 * 1..
-
파이썬 + SQLite 사용 후 몇 가지 기록Python/이것저것 파이썬 2021. 11. 4. 10:09
당연한 이야기 몇 가지 기억을 위해 남깁니다. 0. commit 데이터를 조작하는 INSERT, REPLACE, DELETE 등의 명령은 커밋이 필요합니다. 오토 커밋도 가능 하지만... from sqlite3 import connect DB = 'test.sqlite3' def query_and_commit(sql): """ INSERT, REPLACE, DELETE ... """ with connect(DB) as conn: cur = conn.cursor() cur.execute(sql) conn.commit() # commit def query(sql): """ SELECT ... """ with connect(DB) as conn: cur = conn.cursor() yield from cur...
-
파이썬 random으로 로또 번호 생성기, 경품 추첨기 만들기Python/이것저것 파이썬 2021. 11. 1. 08:11
https://docs.python.org/ko/3/library/random.html random — 의사 난수 생성 — Python 3.10.0 문서 random — 의사 난수 생성 소스 코드: Lib/random.py 이 모듈은 다양한 분포에 대한 의사 난수 생성기를 구현합니다. 정수에 대해서는, 범위에서 균일한 선택이 있습니다. 시퀀스에 대해서는, 무작위 docs.python.org random.shuffle 시퀀스 x를 제자리에서 섞습니다. shuffle을 이용해 100명 중에 (순서가 있는) 3명을 뽑아봅시다. result는 추첨함이라고 생각합시다. 추첨함에 0~99 까지 번호표를 넣고, 4번 흔든(셔플한) 뒤, 3장의 번호표를 뽑는 과정입니다. 실 생활속의 추첨 과정과 거의 같도록 코딩해 보..