본문 바로가기
파이썬

파이선으로 계산기 만들기

by 와찬 2022. 9. 13.

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()

 

 

반응형

'파이썬' 카테고리의 다른 글

엑셀과 파이썬 001  (0) 2023.07.19
두더지 잡기 게임  (0) 2022.09.15
크루스칼(Kruskal) 알고리즘  (0) 2022.09.12

댓글