파이썬

파이선으로 계산기 만들기

와찬 2022. 9. 13. 13:16

2021년에 파이썬 배울때.

계산기 만들때 짯던 코딩이다.

그냥 복사 붙여넣기해서 주피터에서 실행하면

쌀집계산기가 나옵니다. 사실 윈도우 계산기보단썩었죠 ㅋㅋㅋㅋ

 

from tkinter import*

window=Tk()

window.title("Simple Calculrator by Chan")

window.geometry("250x300")

entry=Entry(window,width=30)

entry.grid(row=0,column=0,columnspan=4)

entry.insert(0,"")

def button_clicked(number) :

current = entry.get()

entry.delete(0,END)

entry.insert(0,str(current)+str(number))

 

def button_clear() :

entry.delete(0,END)

 

def button_add() :

first_number = entry.get()

global f_num

global math

math = 'addition'

f_num = float(first_number)

entry.delete(0,END)

 

def button_sub() :

first_number = entry.get()

global f_num

global math

math = 'subtraction'

f_num = float(first_number)

entry.delete(0,END)

def button_mul() :

first_number = entry.get()

global f_num

global math

math = 'multiplication'

f_num = float(first_number)

entry.delete(0,END)

 

def button_isqrt() :

first_number = entry.get()

global f_num

global math

math = 'isqrt'

f_num = float(first_number)

entry.delete(0,END)

 

def button_div() :

first_number = entry.get()

global f_num

global math

math = 'division'

f_num = float(first_number)

entry.delete(0,END)

 

def button_equal() :

second_number = entry.get()

entry.delete(0,END)

 

if math == 'addition' :

entry.insert(0,f_num + float(second_number))

if math == 'subtraction' :

entry.insert(0,f_num - float(second_number))

if math == 'multiplication' :

entry.insert(0,f_num * float(second_number))

if math == 'division' :

entry.insert(0,f_num / float(second_number))

if math == 'isqrt' :

entry.insert(0,f_num ** int(second_number))

 

 

b0=Button(window,text="0",padx=10,pady=10,command=lambda: button_clicked(0))

b0.grid(row=5,column=0,padx=5,pady=5)

b000=Button(window,text="000",padx=10,pady=10,command=lambda: button_clicked('000'))

b000.grid(row=5,column=1,padx=5,pady=5)

bpoint=Button(window,text=".",padx=10,pady=10,command=lambda: button_clicked('.'))

bpoint.grid(row=5,column=2,padx=5,pady=5)

beggol=Button(window,text="=",padx=10,pady=10,bg="yellow",command=button_equal)

beggol.grid(row=5,column=3,padx=5,pady=5)

b1=Button(window,text="1",padx=10,pady=10,command=lambda: button_clicked(1))

b1.grid(row=4,column=0,padx=5,pady=5)

b2=Button(window,text="2",padx=10,pady=10,command=lambda: button_clicked(2))

b2.grid(row=4,column=1,padx=5,pady=5)

b3=Button(window,text="3",padx=10,pady=10,command=lambda: button_clicked(3))

b3.grid(row=4,column=2,padx=5,pady=5)

bx=Button(window,text="X",padx=10,pady=10,bg="yellow",command=button_mul)

bx.grid(row=4,column=3,padx=5,pady=5)

b4=Button(window,text="4",padx=10,pady=10,command=lambda: button_clicked(4))

b4.grid(row=3,column=0,padx=5,pady=5)

b5=Button(window,text="5",padx=10,pady=10,command=lambda: button_clicked(5))

b5.grid(row=3,column=1,padx=5,pady=5)

b6=Button(window,text="6",padx=10,pady=10,command=lambda: button_clicked(6))

b6.grid(row=3,column=2,padx=5,pady=5)

bminus=Button(window,text="-",padx=10,pady=10,bg="yellow",command=button_sub)

bminus.grid(row=3,column=3,padx=5,pady=5)

b7=Button(window,text="7",padx=10,pady=10,command=lambda: button_clicked(7))

b7.grid(row=2,column=0,padx=5,pady=5)

b8=Button(window,text="8",padx=10,pady=10,command=lambda: button_clicked(8))

b8.grid(row=2,column=1,padx=5,pady=5)

b9=Button(window,text="9",padx=10,pady=10,command=lambda: button_clicked(9))

b9.grid(row=2,column=2,padx=5,pady=5)

bplus=Button(window,text="+",padx=10,pady=10,bg="yellow",command=button_add)

bplus.grid(row=2,column=3,padx=5,pady=5)

bac=Button(window,text="AC",padx=10,pady=10,bg="yellow",command=button_clear)

bac.grid(row=1,column=0,padx=5,pady=5)

bnx=Button(window,text="N^x",padx=10,pady=10,bg="yellow",command=button_isqrt)

bnx.grid(row=1,column=1,padx=5,pady=5)

bloot=Button(window,text="log",padx=10,pady=10,bg="yellow")

bloot.grid(row=1,column=2,padx=5,pady=5)

bdivi=Button(window,text="÷",padx=10,pady=10,bg="yellow",command=button_div)

bdivi.grid(row=1,column=3,padx=5,pady=5)

window.mainloop()

 

 

반응형