본문 바로가기

프로그래밍/파이썬10

육십갑자를 파이썬으로 알아보자!(올해는 계묘년 : 검은 토끼의 해) 올해는 2023년 계묘년입니다. 그렇다면 자신이 태어난 년도에 무엇으로 불렸는지 알고 계신가요? 육십갑자는 "갑을병정무기경신임계"라 하는 천간 10개와 "자축인묘진사오미신유술해"라 하는 지지12개를 하나 씩 번갈아가면서 붙인 것을 육십갑자라 합니다. 올해는 천간 10개 중 계에 해당하고 지지 12개 중 묘에 해당합니다. 육십갑자를 만드는 원리는 갑 을 병 정 무 기 경 신 임 계 자 축 인 묘 진 사 오 미 신 유 술 해 가장 첫 번째는 '갑'과 '자'를 합쳐서 갑자년 이라 합니다. 이런 식으로 갑자년의 다음 해는 '을'과 '축'을 합쳐 을축년, 그 다음 해는 병인년 -> 정묘년 -> 무진년 -> ,,, 이렇게 계속 돌아갑니다. 하나 씩 하다보면 계유년에서 계 다음이 갑으로 순환하는 구조입니다. 때문에 .. 2023. 1. 5.
[파이썬 GUI] tkinter 7 화면 전환~~ (Frame을 이용한 화면 전환) tkinter로 화면 전환에 대해서 궁금해 하시는 분들이 많이 있는 것 같습니다. 프로그램들을 실행시키다 보면 이전과 다음을 클릭하도록 되어있는 것을 종종 볼 수 있습니다. 그것과 같이 화면을 전환하는 방법에 대해서 알아보겠습니다. 화면을 전환하려면 우선 각 화면을 만들어야 합니다. 매번 하던 방식은 root = Tk() Label(root, text="어쩌구" ... 이런 식으로 기본 화면에 만들었는데 이제는 각 화면을 따로따로 만들어주도록 하겠습니다. 그리고 버튼을 통해 이전과 다음 페이지로 넘어 갈 수 있도록 하겠습니다. 화면을 frame이라고 합니다. 그래서 Frame 위젯을 이용해야합니다. 이 Frame으로 각 화면을 만들어주도록 하겠습니다. from tkinter import * root = .. 2022. 11. 24.
[파이썬 GUI] tkinter 6(특정 키를 누를 때 동작하는 bind함수/로그인 창 음영 넣는 법) 특정 키를 누를 때 동작할 수 있게 만드는 bind 함수에 대해서 알아보겠습니다. bind 함수는 위젯에 적용시킬 수 있습니다. 여기서 위젯이란 Label, Entry, Button 등을 모두 위젯이라고 하고 프로그램 화면에 보이는 대부분이 위젯이라고 볼 수 있습니다. 기본적으로 사용하는 방법을 알아보고 로그인 창에서 볼 수 있는 입력을 유도하는 음영을 표현해보겠습니다. 1. 기본 사용 방법 2. 로그인 창 입력 유도를 위한 음영 넣기 1. 기본 사용 방법 from tkinter import * def mouse_left_click(event): # 반드시 event 매개변수를 전달합니다. global label1 label1['text'] = "누르면 이렇게 변함" # 뭐가 들어오는지 확인해보자! pr.. 2022. 10. 28.
[파이썬 GUI] tkinter 5(입력 위젯 만들기) 이번에는 문자열을 입력받을 수 있는 위젯을 만드는 방법을 알아보겠습니다. 요번까지 Label, Button, Entry까지 하고 나면 기본적인 GUI를 만들 수 있습니다. 이를 이용하는 간단한 응용 방법에 대해서도 알아보도록 하겠습니다. 어떤 값을 입력받으려면 Entry 위젯을 사용해야 합니다. Entry에 대해서 다음 순으로 알아보도록 하겠습니다. 1. 기본 사용 방법 2. Entry 옵션 3. 버튼을 이용한 응용 방법 1. 기본 사용 방법 기본 사용방법은 우선 나타나게 하는 방법입니다. 지금까지 해왔던 Label, Button과 비슷한 구조입니다. from tkinter import * gui = Tk() gui.title("입력을 받아보자!") gui.geometry("400x300+300+300".. 2022. 10. 26.
[파이썬 GUI] tkinter 4(버튼 사용하기/버튼의 기능 만들기) 이번에는 GUI에서 특정 기능이 발휘 될 수 있는 버튼 위젯을 사용하는 방법을 알아보겠습니다. 1. 버튼 기본 사용방법 2. 버튼 속성 3. 버튼을 이용한 Label 위젯의 text변경 1. 버튼 기본 사용방법 바로 코드를 통해서 알아보겠습니다. from tkinter import * def but(): print("기능 실행") gui = Tk() gui.title("버튼 사용하기") gui.geometry("400x300+300+300") # 기본 사용법 Button(gui, text="버튼이당", command=but).pack() gui.mainloop() 이 코드의 실행 화면입니다. 버튼을 누르면 콘솔 화면에 다음과 같이 나타납니다. 코드 설명입니다. Button(gui, text="버튼이당",.. 2022. 10. 21.
[파이썬 GUI] tkinter 3(위젯을 화면에 배치하는 방법, pack, grid, place) tkinter에서 위젯을 나타내게 할 때 사용되는 3가지 메소드가 있습니다. 1. pack method 2. grid method 3. place method 1번 pack method는 절대적인 위치에 등장시키고 싶을 때 사용합니다. 예를 들어 300x400, 또는 이와 다른 화면 크기에서 위젯을 맨 위, 맨 아래 등에 배치하고 싶을 때는 pack method를 사용합니다. 이 메소드는 내가 어디에 정확하게 배치하고 싶을 때는 부정확할 가능성이 있습니다. 2번 grid method는 엑셀과 같다고 생각하면 됩니다. 엑셀과 같이 격자를 위젯의 크기에 맞게 자동으로 설정이 됩니다. 자동으로 격자가 생성되기 때문에 위젯의 크기가 들쭉 날쭉한다면 사용하기 곤란할 수도 있습니다. 3번 place는 좌표를 이용하.. 2022. 10. 14.
[파이썬 GUI] tkinter 2(Label을 이용하여 글자, 이미지 표현하기) GUI에서 글자를 나타내게 하고 싶으면 Label class를 사용해야 합니다. Label class는 글자 뿐만 아니라 이미지도 나오게 할 수 있습니다. 오늘 알아볼 주제입니다. 1. Label class 기본 사용법 2. Label 나오게 하기 3. Label에서 사용하는 속성들 4. 이미지 나오게 하기 1. Label class 기본 사용법 from tkinter import * gui = Tk() gui.title("Label 사용하기") gui.geometry("400x300+300+300") gui.resizable(False, False) # Label 사용법 1 Label(gui, text="string") gui.mainloop() Label(gui, text="string") -> gu.. 2022. 10. 14.
[파이썬 GUI] tkinter 사용법 1(화면 만들기, 화면 중앙에 배치하기) 파이썬으로 GUI 즉, 프로그램 화면을 만드는 방법을 알아보겠습니다. PyQt도 있지만 tkinter가 개인적으로 더 쉽게 느껴졌습니다. 기초적인 과정부터 tkinter와 소켓 통신을 통해 채팅창 만드는 과정까지 나가보겠습니다. 우선 tkinter 모듈을 import 해야합니다. tkinter 모듈은 파이썬 설치 시 기본으로 제공됩니다. 혹시나 없다면 pip install tk로 설치해야 합니다. 목차 1. 화면 만들기 2. 창의 최대/최소 사이즈 3. 줄이기 가능, 불가능 4. 프로그램 화면을 중앙에 배치하기 1. 화면 만들기 코드를 통해서 알아보겠습니다. from tkinter import * gui = Tk() gui.mainloop() from tkinter import * -> tkinter 모.. 2022. 10. 13.
호기심 파이썬 : 코딩을 공부할 때 알아두면 좋은 것들(1) 보통 프로그래밍 언어라고 하는데 실제 배워보면 진짜로 언어를 배우는 듯한 느낌이 강합니다. 언어이긴 한데 컴퓨터에게 지시를 내리는 것이죠. 일방적인 언어입니다. 우리가 알고 있는 영어가 가득한 코드도 사실 컴퓨터는 알지 못합니다. 컴퓨터는 0과 1로 이해하고 있기 때문입니다. 우리가 아는 코드는 몇 개의 번역기를 돌려서 0과 1로 변하게 됩니다. 이 번역기의 특징은 거꾸로 번역은 불가능합니다. 비유하자면 이렇습니다. "사과"라는 단어가 코드이고 코드를 번역하면 컴퓨터가 알아들을 수 있는 말인 "apple"이라고 해보겠습니다. 이것을 거꾸로 번역하면 "붉은색을 가진 과일" 정도로 바뀐다는 말입니다. 즉, 토씨 하나하나 똑같이 변하지는 않고 코드의 특징은 알 수 있을 정도로는 번역이 가능하다는 말이 되겠습니.. 2022. 7. 2.
파이썬 : 올림/내림/반올림(ceil/floor/round) 파이썬에서 올림 내림 반올림을 하는 법에 대해서 알아보겠습니다. 수학적으로 올림 내림 반올림의 의미는 잘 아실것이라 생각합니다. 보통 이것들을 사용할 때 소수점 n번째 자리 버림, 십의 자리 올림 등등 여러 가지로 사용이 가능하지만 아래에 서술할 올림 내림 반올림 함수들은 소수점에 대해서만 적용이 됩니다. 1. 올림 math 모듈의 ceil 함수를 사용해야 합니다. 소수점 첫째 자리를 올려 정수로 만듭니다. 사용법 math.ceil(숫자) # 예제코드 import math # math 모듈 불러옴 num1 = 3.141592 print(math.ceil(num1)) num1 변수를 올림하면 4가 됩니다. 2. 내림 math 모듈의 floor 함수를 사용해야 합니다. 소수점 첫째 자리를 내려 정수로 만듭니.. 2022. 7. 1.