티스토리 뷰
안녕하세요 탐구소년입니다.
파이썬 문법을 이제 막 학습하신 분들이 추가적인 공부를 위해 많이 해보시는 것 중 하나로 파이썬을 활용한 GUI 프로그래밍을 꼽을 수 있는데요. 오늘은 파이썬 GUI 프로그래밍에 자주 사용되는 모듈인 tkinter를 사용해서 작성한 복리 계산기 코드를 준비해봤습니다.
우리가 저축이나 투자를 하게 되면 우리의 돈에 이자가 붙게 마련입니다. 그런데 이자가 붙는 방식은 한 가지만 있는 게 아니라 단리와 복리 두 가지가 있어 어떤 방식의 저축 상품을 선택하냐에 따라 최종 수익금이 달라지게 됩니다. 여기서는 그 중에서도 복리 방식의 계산을 적용하여 코드를 작성했으니 유념하시고요. 혹시라도 단리와 복리의 차이가 궁금하신 분들은 아래의 링크를 참고해주셔도 좋을 것 같습니다. 제 글이에요.
https://penguingoon.tistory.com/126
자, 그럼 이제 코드를 보겠습니다.
코드(tkinter_interest.py)
'''
원금, 수익률, 투자 기간(개월수)을
입력하고 버튼을 누르면 최종 수령금을
계산하여 결과를 알려주는 프로그램입니다.
by 탐구소년
'''
from tkinter import *
from tkinter import messagebox
# 창(window) 객체 성생
wd = Tk()
# 원금, 이자율, 투자 기간 변수
origin = IntVar()
rate = IntVar()
period = IntVar()
# 최종 수령 금액 계산하는 함수
def calculate() :
org = origin.get()
rat = rate.get() / 100 + 1
per = period.get()
messagebox.showinfo("결과", str(org * (rat ** per)))
# 위젯 생성
lb1 = Label(wd, text="원금(원)")
lb2 = Label(wd, text="이자율(%)")
lb3 = Label(wd, text="투자 기간(월)")
text1 = Entry(wd, textvariable=origin)
text2 = Entry(wd, textvariable=rate)
text3 = Entry(wd, textvariable=period)
btn = Button(wd, text="계산하기", command=calculate)
# 위젯 배치 (grid 방식)
lb1.grid(row=0, column=0)
lb2.grid(row=1, column=0)
lb3.grid(row=2, column=0)
text1.grid(row=0, column=1)
text2.grid(row=1, column=1)
text3.grid(row=2, column=1)
btn.grid(row=3, column=1)
# 메인루프 돌리즈아
wd.mainloop()
tkinter를 임포트하여 사용했습니다. tkinter의 Tk 클래스를 사용하여 창을 만들고, 그 위에 여러가지 위젯들을 추가하고 거기에 기능을 더해 코드를 완성했습니다. 프로그램을 실행시키면 아래와 같이 사용하실 수 있어요(맥북에서 실행하였습니다만 윈도우에서도 잘 됩니다).
실행시 위와 같은 창이 하나 뿅하고 뜹니다. 숫자를 입력해보겠습니다.
원금 100만원을 12개월 동안 투자할 건데, 매월 2%씩 복리로 수익이 나면 최종 수령금이 얼마나 될까요? '계산하기'를 눌러보겠습니다.
그렇습니다. 126만 8천 2백 4십 1원의 돈을 수령할 수 있게 됩니다. tkinter에서 messagebox를 가져다가 그것을 통해서 결과를 표시하고 있어요. 'OK'를 누르면 메시지박스는 사라지고 다시 계산을 할 수 있게 돼요. 그나저나.. 복리의 힘은 참 대단하네요. 그쵸? 이자가 한 번만 붙는 단리에 비해 수익금이 훨씬 크니 말이죠. 그걸 프로그래밍을 통해 계산할 수가 있다니 그것도 대단합니다^_^
위의 코드 동작은 이 정도가 전부입니다. 코드를 복사해서 실행시키면 실행이 잘 될 겁니다. 코드에 대한 자세한 설명은 분량 조절 관계상 작성하지 않았으니 양해 부탁드립니다.
감사합니다^^
'IT > 프로그래밍' 카테고리의 다른 글
웹접근성을 고려한 HTML 코딩 작업시 규칙 또는 권장사항 (0) | 2020.03.19 |
---|---|
파이썬 로또 번호 자동 생성 코드 : random 모듈 (0) | 2020.02.23 |
파이썬 turtle(거북이) 예제 : 키보드 조작으로 그림 그리기 (13) | 2020.02.18 |
CSS 미디어 쿼리에 대해서 알아보자 (0) | 2020.02.12 |
CSS 단위 px, rem, em, % (0) | 2020.02.12 |