This repository was archived by the owner on Apr 28, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
92 lines (62 loc) · 2.88 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
import tkinter
import tkinter.messagebox
class Temperature_Converter:
def __init__(self):
# Windows
self.main_window = tkinter.Tk() # Makes main window
self.main_window.title('Temperature Converter') # Names the window
# Frames
self.name_frame = tkinter.Frame(self.main_window)
self.fahrenheit_frame = tkinter.Frame(self.main_window)
self.celsius_frame = tkinter.Frame(self.main_window)
self.button_frame = tkinter.Frame(self.main_window)
# Name Row
self.name_label = tkinter.Label(self.name_frame,text="MontyMango",relief='solid')
# Pack Name Row
self.name_label.pack()
# Fahrenheit Row
self.fahrenheit_label = tkinter.Label(self.fahrenheit_frame,text="Fahrenheit or Celcius:")
self.Far_to_Cel = tkinter.Button(self.fahrenheit_frame,text='F° -> C°', command=self.F_to_C)
# Pack Fahrenheit Row
self.fahrenheit_label.pack(side='left')
self.Far_to_Cel.pack(padx=(17,0),side='left')
# Celsius Row
self.number_input = tkinter.Entry(self.celsius_frame,width=15)
self.Cel_to_Far = tkinter.Button(self.celsius_frame,text='C° -> F°', command=self.C_to_F)
# Pack Celsius Row
self.number_input.pack(padx=(40,29),side='left')
self.Cel_to_Far.pack(padx=(0,25),side='left')
# Buttons Row
self.Quit = tkinter.Button(self.button_frame,text='Quit',command=self.main_window.destroy)
# Pack Buttons Row
self.Quit.pack(side='right')
# Pack Frames
self.name_frame.pack(padx=100,pady=(0,15))
self.fahrenheit_frame.pack()
self.celsius_frame.pack(pady=(0,15))
self.button_frame.pack()
tkinter.mainloop() # Main loop
# Function converts celsius to fahrenheit
def C_to_F(self):
try:
celsius = float(self.number_input.get())
fahrenheit = ((celsius * 9) / 5) + 32
fahrenheit = f'{fahrenheit:,.2f}'; celsius = f'{celsius:,.2f}'
tkinter.messagebox.showinfo('Results',str(celsius)+
' C° --> '+str(fahrenheit)+' F°')
except ValueError:
self.Error_Message()
# Function converts fahrenheit to celsius
def F_to_C(self):
try:
fahrenheit = float(self.number_input.get())
celcius = ((fahrenheit - 32) / 9) * 5
fahrenheit = f'{fahrenheit:,.2f}'; celcius = f'{celcius:,.2f}'
tkinter.messagebox.showinfo('Results',str(fahrenheit)+
' F° --> '+str(celcius)+' C°')
except ValueError:
self.Error_Message()
def Error_Message(self):
tkinter.messagebox.showinfo('Error!','The values that you put in didn\'t work.\nPlease try again!')
if __name__ == '__main__':
TC = Temperature_Converter()