我想创建一个程序,将温度转换为摄氏度、华氏度和开尔文,方法是从用户处获取有效输入,分别使用if、elif和else提供转换后的温度。 我刚开始学习tkinter,所以对它不太了解,请帮助我更正源代码
import tkinter as tk
root = tk.Tk()
root.geometry("250x170")
root.title('Temperature Converter')
frame=tk.Frame(root)
frame.pack()
l=tk.Label(root, text = "HELLO!!! Welcome to Temperature Converter")
l.config(font =("Courier", 14))
l.pack()
t="Enter 1 To Convert Temperature Into Celsius.""\n"+"Enter 2 To Convert Temperature Into Fahrenheit.""\n"+"Enter 3 To Convert Temperature Into Kelvin."
l1=tk.Label(root, text = t,justify="left")
l1.config(font =("Courier", 14))
l1.pack(side="top",anchor="nw")
def printtext():
global e
string = e.get()
print(string)
e = tk.Entry(root,font =("Courier", 14))
e.pack(ipady=3,ipadx=3,anchor="center")
e.focus_set()
b = tk.Button(root,text='okay',font =("Courier", 13),command=printtext,anchor="center")
b.pack(side='top')
def Celsius():
Fah=float(raw_input('Enter the temp in Fahrenheit')
Celsius=(get(Fah)-32.0)*5.0//9.0)
clabel=tk.Label(root,Celsius,text="Successfully Converted into Celsius")
clabel.pack()
def Fahrenheit():
Cel=float(raw_input('Enter the temp in Celsius')
Fahrenheit=(get(Cel)*9.0//5.0+32)
Flabel=tk.Label(root,Cel,text="Successfully Converted into Fahrenheit")
Flabel.pack()
def Kelvin():
Ces=float(raw_input('Enter the temp in Celsius')
Kelvin=(get(Ces)+273)
Klabel=tk.Label(root,Cel,text="Successfully Converted into Kelvin")
Klabel.pack()
def on_button():
if e.get() == 1:
Celsius()
elif e.get() == 2:
Fahrenheit()
elif e.get() == 3:
Kelvin()
else:
tkinter.messagebox.showerror(title=None, message= "Invalid Choice")
root.mainloop()
我已经写了一些代码,但重要的是你要尽量理解它。我用单选按钮找出了主温度和转换温度。我用过radiobutton,你也可以用
Combobox
。无论如何,我使用了一个函数,然后选择将所有其他值转换为它,然后再转换为所需的值。看一看:此处
lhs
用于查找左侧温度,而rhs
用于查找右侧温度。它会返回所选选项的编号,所以稍后我会用返回的编号为列表编制索引相关问题 更多 >
编程相关推荐