kind_hcc={"岩棉":0.04,"玻璃棉":0.042,"聚苯乙烯泡沫":0.033,\ "聚氨酯泡沫":0.024,"硅酸铝":0.045,"泡沫混凝土":0.08} def kind(name): def wide(w): return kind_hcc[name]/w return wide n={} s={} for i,j in kind_hcc.items(): if j<0.041: s[i]=kind_hcc[i] else: n[i]=kind_hcc[i] print("适合北方的材料",n,"适合南方的材料",s) U=0.8 m1,m2,m3=eval(input("请输入窗户,墙体,屋顶的面积")) t1,t2=eval(input("请输入室内,供暖温度")) type_name=input("请输入材料名字") b_w=eval(input("请输入材料厚度")) f=kind(type_name) print(f(b_w)) A=t2-t1#设计供暖温度与室内温度之差 B=m1UA C=m2*f(b_w)A #墙壁导热损失 D=m3f(b_w)*A #屋顶导热损失 Z=abs(B)+abs(C)+abs(D)#总导热损失 print("总导热损失为:",Z) if Z>50: print("材料不合适该建筑类型") else: print("材料适合该建筑类型")对此python程序进行可视化处理
时间: 2023-10-30 09:06:00 浏览: 160
好的,以下是经过修改、可视化处理后的代码,也是一个基于Tkinter的GUI程序:
```
from tkinter import *
# 定义材料种类和导热系数字典
kind_hcc = {"岩棉":0.04, "玻璃棉":0.042, "聚苯乙烯泡沫":0.033, "聚氨酯泡沫":0.024, "硅酸铝":0.045, "泡沫混凝土":0.08}
# 定义函数,计算导热系数
def kind(name):
def wide(w):
return kind_hcc[name] / w
return wide
# 根据导热系数将材料分类
n = {}
s = {}
for i,j in kind_hcc.items():
if j < 0.041:
s[i] = kind_hcc[i]
else:
n[i] = kind_hcc[i]
# 创建主窗口
root = Tk()
root.geometry("400x300")
root.title("导热系数计算器")
# 创建窗口部件
m1_label = Label(root, text="窗户面积(单位:平方米):")
m1_entry = Entry(root)
m2_label = Label(root, text="墙体面积(单位:平方米):")
m2_entry = Entry(root)
m3_label = Label(root, text="屋顶面积(单位:平方米):")
m3_entry = Entry(root)
t1_label = Label(root, text="室内温度(单位:℃):")
t1_entry = Entry(root)
t2_label = Label(root, text="设计供暖温度(单位:℃):")
t2_entry = Entry(root)
type_label = Label(root, text="请选择建筑材料:")
type_var = StringVar()
type_var.set("岩棉")
for name in kind_hcc:
radio = Radiobutton(root, text=name, variable=type_var, value=name)
radio.pack()
b_w_label = Label(root, text="请输入材料厚度(单位:米):")
b_w_entry = Entry(root)
result_label = Label(root, text="")
result_label2 = Label(root, text="")
# 定义计算函数
def calculate():
U = 0.8
m1 = float(m1_entry.get())
m2 = float(m2_entry.get())
m3 = float(m3_entry.get())
t1 = float(t1_entry.get())
t2 = float(t2_entry.get())
type_name = type_var.get()
b_w = float(b_w_entry.get())
f = kind(type_name)
k = f(b_w)
A = t2 - t1
B = m1 * U * A
C = m2 * k * A
D = m3 * k * A
Z = abs(B) + abs(C) + abs(D)
result_label.config(text="总导热损失为:{}".format(Z))
if Z > 50:
result_label2.config(text="材料不适合该建筑类型", fg="red")
else:
result_label2.config(text="材料适合该建筑类型", fg="blue")
# 创建按钮
button = Button(root, text="确定", command=calculate)
# 将部件放置到主窗口
m1_label.pack()
m1_entry.pack()
m2_label.pack()
m2_entry.pack()
m3_label.pack()
m3_entry.pack()
t1_label.pack()
t1_entry.pack()
t2_label.pack()
t2_entry.pack()
type_label.pack()
b_w_label.pack()
b_w_entry.pack()
button.pack(pady=10)
result_label.pack()
result_label2.pack()
# 运行主程序
root.mainloop()
```
这个程序会在界面中显示各种输入框和标签,用户需要输入相关数据,选择建筑材料种类,并点击“确定”按钮进行计算。计算结果会显示在界面中的标签上。
阅读全文
相关推荐

















