python GUI 계산기 만들기

2206 단어 python계산기python

python으로 GUI 계산기 만들기를 해보았습니다.
아래 내용은 제가 작성한 코드 입니다.

import tkinter as tk

disValue = 0
operator = {'+':1, '-':2, '/':3, '*':4, 'C':5, '=':6}
stoValue = 0
opPre = 0

숫자를 누르면 곱x10이 된 숫자들이 나옴

def number_click(value):
global disValue
disValue = (disValue*10) + value
str_value.set(disValue)

def clear():
global disValue, operator, stoValue, opPre
stoValue = 0
opPre = 0
disValue = 0
str_value.set(disValue)

def oprator_click(value):
global disValue, operator, stoValue, opPre
op = operator[value]
if op == 5: # C
clear()
elif disValue == 0:
opPre = 0
elif opPre == 0:
opPre = op
stoValue = disValue
disValue = 0
str_value.set(disValue)
elif op == 6: #'=
if opPre == 1:
disValue = stoValue + disValue
if opPre == 2:
disValue = stoValue - disValue
if opPre == 3:
disValue = stoValue / disValue
if opPre == 4:
disValue = stoValue * disValue

    str_value.set(str(disValue))
    disValue = 0
    stoValue = 0
    opPre = 0
else:
    clear()

def button_click(value):
try:
value = int(value)
number_click(value)
except:
oprator_click(value)

win = tk.Tk()
win.title('계산기')

계산기 화면부분

str_value = tk.StringVar()
str_value.set(str(disValue))
dis = tk.Entry(win, textvariable=str_value, justify='right', bg = 'white', fg = 'red')
dis.grid(column= 0,row=0, columnspan=4, ipadx=80, ipady=30)

계산기 버튼부분 디자인 포함

caitiem = [['1','2','3','4'],
['5', '6', '7', '8'],
['9', '0', '+', '-'],
['/', '*', '=', 'C']]

for i,items in enumerate(caitiem):
for k,item in enumerate(items):

    try:
        color = int(item)
        color = 'black'
    except:
        color = 'green'

    bt = tk.Button(win,
        text=item,
        width=10,
        height=5,
        bg = color,
        fg = 'white',
        command = lambda cmd=item: button_click(cmd)
        )
    bt.grid(column=k, row=(i+1))

win.mainloop()

좋은 웹페이지 즐겨찾기