1
+ import tkinter as tk
2
+ import tkinter .messagebox
3
+ from tkinter .constants import SUNKEN
4
+ window = tk .Tk ()
5
+ window .title ('claculator' )
6
+ frame = tk .Frame (master = window ,bg = "skyblue" ,padx = 10 )
7
+ frame .pack ()
8
+ entry = tk .Entry (master = frame ,relief = SUNKEN ,borderwidth = 3 ,width = 30 )
9
+ entry .grid (row = 0 ,column = 0 ,columnspan = 3 ,ipady = 2 ,pady = 2 )
10
+
11
+ def myclick (number ):
12
+ entry .insert (tk .END ,number )
13
+
14
+ def equal ():
15
+ try :
16
+ y = str (eval (entry .get ()))
17
+ entry .delete (0 ,tk .END )
18
+ entry .insert (0 ,y )
19
+ except :
20
+ tkinter .messagebox .showinfo ("Error" ,"Syntax Error" )
21
+
22
+ def clear ():
23
+ entry .delete (0 ,tk .END )
24
+
25
+ button_1 = tk .Button (master = frame ,text = '1' ,padx = 15 ,pady = 5 ,width = 3 ,command = lambda :myclick (1 ))
26
+ button_1 .grid (row = 1 ,column = 0 ,pady = 2 )
27
+ button_2 = tk .Button (master = frame ,text = '2' ,padx = 15 ,pady = 5 ,width = 3 ,command = lambda :myclick (2 ))
28
+ button_2 .grid (row = 1 ,column = 1 ,pady = 2 )
29
+ button_3 = tk .Button (master = frame ,text = '3' ,padx = 15 ,pady = 5 ,width = 3 ,command = lambda :myclick (3 ))
30
+ button_3 .grid (row = 1 ,column = 2 ,pady = 2 )
31
+ button_4 = tk .Button (master = frame ,text = '4' ,padx = 15 ,pady = 5 ,width = 3 ,command = lambda :myclick (4 ))
32
+ button_4 .grid (row = 2 ,column = 0 ,pady = 2 )
33
+ button_5 = tk .Button (master = frame ,text = '5' ,padx = 15 ,pady = 5 ,width = 3 ,command = lambda :myclick (5 ))
34
+ button_5 .grid (row = 2 ,column = 1 ,pady = 2 )
35
+ button_6 = tk .Button (master = frame ,text = '6' ,padx = 15 ,pady = 5 ,width = 3 ,command = lambda :myclick (6 ))
36
+ button_6 .grid (row = 2 ,column = 2 ,pady = 2 )
37
+ button_7 = tk .Button (master = frame ,text = '7' ,padx = 15 ,pady = 5 ,width = 3 ,command = lambda :myclick (7 ))
38
+ button_7 .grid (row = 3 ,column = 0 ,pady = 2 )
39
+ button_8 = tk .Button (master = frame ,text = '8' ,padx = 15 ,pady = 5 ,width = 3 ,command = lambda :myclick (8 ))
40
+ button_8 .grid (row = 3 ,column = 1 ,pady = 2 )
41
+ button_9 = tk .Button (master = frame ,text = '9' ,padx = 15 ,pady = 5 ,width = 3 ,command = lambda :myclick (9 ))
42
+ button_9 .grid (row = 3 ,column = 2 ,pady = 2 )
43
+ button_0 = tk .Button (master = frame ,text = '0' ,padx = 15 ,pady = 5 ,width = 3 ,command = lambda :myclick (0 ))
44
+ button_0 .grid (row = 4 ,column = 1 ,pady = 2 )
45
+
46
+ button_add = tk .Button (master = frame ,text = "+" ,padx = 15 ,pady = 5 ,width = 3 ,command = lambda :myclick ('+' ))
47
+ button_add .grid (row = 5 ,column = 0 ,pady = 2 )
48
+
49
+ button_subtract = tk .Button (master = frame ,text = "-" ,padx = 15 ,pady = 5 ,width = 3 ,command = lambda :myclick ('-' ))
50
+ button_subtract .grid (row = 5 ,column = 1 ,pady = 2 )
51
+
52
+ button_multiply = tk .Button (master = frame ,text = "*" ,padx = 15 ,pady = 5 ,width = 3 ,command = lambda :myclick ('*' ))
53
+ button_multiply .grid (row = 5 ,column = 2 ,pady = 2 )
54
+
55
+ button_div = tk .Button (master = frame ,text = "/" ,padx = 15 ,pady = 5 ,width = 3 ,command = lambda :myclick ('/' ))
56
+ button_div .grid (row = 6 ,column = 0 ,pady = 2 )
57
+
58
+ button_clear = tk .Button (master = frame ,text = "clear" ,padx = 15 ,pady = 5 ,width = 12 ,command = clear )
59
+ button_clear .grid (row = 6 ,column = 1 ,columnspan = 2 ,pady = 2 )
60
+
61
+ button_equal = tk .Button (master = frame ,text = "=" ,padx = 15 ,pady = 5 ,width = 9 ,command = equal )
62
+ button_equal .grid (row = 7 ,column = 0 ,columnspan = 3 ,pady = 2 )
63
+
64
+ window .mainloop ()
0 commit comments