def taijiezhou_calcu(L1,D1,L2,D2,L3,D3,L4,D4,L5,D5,L6,D6,L7,D7,L8,D8,L9,D9,L10,D10,D_k): def calcu_1(): global quality_tjz global volume_tjz quality_gd=quality_tjz/0.77 quality_gd=round(quality_gd,2) quality_tjz=round(quality_tjz,2) tk.Label(window_output,text='台阶轴毛坯锻件质量为'+str(quality_tjz)+'吨。成材率≥77%,钢锭质量为'+\ str(quality_gd)+'吨。',font=(20)).place(x=30,y=30) global volume_tjz global quality_tjz D_list=[D1,D2,D3,D4,D5,D6,D7,D8,D9,D10] L_list=[L1,L2,L3,L4,L5,L6,L7,L8,L9,L10] # D_max=max(D1,D2,D3,D4,D5,D6,D7,D8,D9,D10) D_max=max(D_list) D_min=min(D_list) L=L1+L2+L3+L4+L5+L6+L7+L8+L9+L10 allowance=0 if 0<L<=4000: if 0<D_max<=400: allowance=30 elif 400<D_max<600: allowance=35 elif 600<=D_max<1000: allowance=40 elif 1000<=D_max: allowance=45 elif 4000<L<7000: if 0<D_max<=400: allowance=35 elif 400<D_max<800: allowance=40 elif 800<=D_max: allowance=45 elif 7000<=L<10000: if 0<D_max<=400: allowance=40 elif 400<D_max<1000: allowance=45 elif 1000<=D_max: allowance=50 elif L>=10000: if 0<D_max<600: allowance=45 elif 600<=D_max<1200: allowance=50 elif 1200<=D_max: allowance=55 else: tk.messagebox.showinfo(title='出错',message='请检查输入的数据是否在合理范围内') #加上余量 for i in range(len(D_list)): if D_list[i] == D_max: L_list[i]=L_list[i]+1.6*allowance#加轴向余量 L_list[i]=quzheng(L_list[i]) if D_list[i] != 0: D_list[i]=D_list[i]+allowance#加径向余量 D_list[i]=quzheng(D_list[i])#取整 D1=D_list[0];D2=D_list[1];D3=D_list[2] D4=D_list[3] D5=D_list[4] D6=D_list[5] D7=D_list[6] D8=D_list[7] D9=D_list[8] D10=D_list[9] L1=L_list[0] L2=L_list[1] L3=L_list[2] L4=L_list[3] L5=L_list[4] L6=L_list[5] L7=L_list[6] L8=L_list[7] L9=L_list[8] L10=D_list[9] L=L1+L2+L3+L4+L5+L6+L7+L8+L9+L10 if D_k !=0: D_k=D_k-1.5*allowance if D_k <0: D_k=0 D_k=quzheng(D_k) #计算体积,单位为立方米,质量,单位为吨 calcu_quality(L1,D1,L2,D2,L3,D3,L4,D4,L5,D5,L6,D6,L7,D7,L8,D8,L9,D9,L10,D10,D_k) window_output=tk.Tk() window_output.geometry('650x720') window_output.title('台阶轴件计算结果') # 新建窗口上的label tk.Label(window_output,text='L总(加余量)为'+str(L)).place(x=150,y=70) tk.Label(window_output,text='L1(加余量)为'+str(L1)).place(x=150,y=110) tk.Label(window_output,text='D1(加余量)为'+str(D1)).place(x=350,y=110) tk.Label(window_output,text='L2(加余量)为'+str(L2)).place(x=150,y=150) tk.Label(window_output,text='D2(加余量)为'+str(D2)).place(x=350,y=150) tk.Label(window_output,text='L3(加余量)为'+str(L3)).place(x=150,y=190) tk.Label(window_output,text='D3(加余量)为'+str(D3)).place(x=350,y=190) tk.Label(window_output,text='L4(加余量)为'+str(L4)).place(x=150,y=230) tk.Label(window_output,text='D4(加余量)为'+str(D4)).place(x=350,y=230) tk.Label(window_output,text='L5(加余量)为'+str(L5)).place(x=150,y=270) tk.Label(window_output,text='D5(加余量)为'+str(D5)).place(x=350,y=270) tk.Label(window_output,text='L6(加余量)为'+str(L6)).place(x=150,y=310) tk.Label(window_output,text='D6(加余量)为'+str(D6)).place(x=350,y=310) tk.Label(window_output,text='L7(加余量)为'+str(L7)).place(x=150,y=350) tk.Label(window_output,text='D7(加余量)为'+str(D7)).place(x=350,y=350) tk.Label(window_output,text='L8(加余量)为'+str(L8)).place(x=150,y=390) tk.Label(window_output,text='D8(加余量)为'+str(D8)).place(x=350,y=390) tk.Label(window_output,text='L9(加余量)为'+str(L9)).place(x=150,y=430) tk.Label(window_output,text='D9(加余量)为'+str(D9)).place(x=350,y=430) tk.Label(window_output,text='L10(加余量)为'+str(L10)).place(x=150,y=470) tk.Label(window_output,text='D10(加余量)为'+str(D10)).place(x=350,y=470) tk.Label(window_output,text='D_孔(加余量)为'+str(D_k)).place(x=200,y=510) # 新建窗口上的button btn_yh_calcu=tk.Button(window_output,text='确定计算',command=calcu_1) btn_yh_calcu.place(x=250,y=550,width=100) btn_yh_calcu2=tk.Button(window_output,text='重新计算',command=lambda:\ calcu_again(L1,D1,L2,D2,L3,D3,L4,D4,L5,D5,L6,D6,L7,D7,L8,D8,L9,D9,L10,D10,D_k)) btn_yh_calcu2.place(x=250,y=600,width=100) window_output.mainloop()
def yuanpan_calcu(D2, D1, H): def calcu_1(): # 直接计算出加余量后的毛坯质量和除以成形率后得到的钢锭质量 global quality_yp quality_gd = quality_yp / 0.77 quality_gd = round(quality_gd, 2) quality_yp = round(quality_yp, 2) tk.Label(window_output,text='毛坯锻件质量为'+str(quality_yp)+'吨'+\ '成材率≥77%,钢锭质量为'+str(quality_gd)+'吨',font=(20)).place(x=50,y=30) global volume_yp global quality_yp allowance = 0 if 0 < D2 < 500: if 0 < H < 200: allowance = 30 elif 200 <= H < 550: allowance = 35 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif 500 <= D2 < 800: if 0 < H <= 100: allowance = 30 elif 100 < H < 550: allowance = 35 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif 800 <= D2 < 1100: if 0 < H < 350: allowance = 35 elif 350 <= H < 800: allowance = 40 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif 1100 <= D2 < 1450: if 0 < H <= 100: allowance = 35 elif 100 < H < 550: allowance = 40 elif 550 <= H < 1050: allowance = 45 elif 1050 <= H < 1300: allowance = 50 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif 1450 <= D2 < 1800: if 0 < H <= 100: allowance = 40 elif 100 < H < 800: allowance = 45 elif 800 <= H < 1300: allowance = 50 elif 1300 <= H < 1600: allowance = 55 elif 1800 <= D2 < 2150: if 0 < H < 350: allowance = 45 elif 350 <= H < 1050: allowance = 50 elif 1050 <= H < 1300: allowance = 55 elif 1300 <= H < 1600: allowance = 60 elif 2150 <= D2 < 2550: if 100 <= H < 200: allowance = 45 elif 200 <= H < 800: allowance = 50 elif 800 <= H < 1300: allowance = 55 elif 1300 <= H < 1600: allowance = 65 elif 2550 <= D2 < 3000: if 100 <= H < 350: allowance = 50 elif 350 <= H < 800: allowance = 55 elif 800 <= H < 1050: allowance = 60 elif 1050 <= H < 1300: allowance = 65 elif 1300 <= H < 1600: allowance = 70 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') if H > 1600: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') #加上余量 D2 = D2 + allowance D1 = D1 - 1.5 * allowance H = H + 0.9 * allowance if D1 < 0: D1 = 0 #取整 0 1 2舍去 8 9进10 3 4 5 6为5 D2 = quzheng(D2) D1 = quzheng(D1) H = quzheng(H) # 计算体积 ,单位为立方米,计算质量,单位为吨 calcu_quality(D2, D1, H) window_output = tk.Tk() window_output.geometry('600x600') window_output.title('圆盘件计算结果') # 新建窗口上的label tk.Label(window_output, text='H(加余量)为' + str(H)).place(x=250, y=100) tk.Label(window_output, text='D1(加余量)为' + str(D1)).place(x=250, y=200) tk.Label(window_output, text='D2(加余量)为' + str(D2)).place(x=250, y=300) # 新建窗口上的button btn_yh_calcu = tk.Button(window_output, text='确定计算', command=calcu_1) btn_yh_calcu.place(x=250, y=400, width=100) btn_yh_calcu2 = tk.Button(window_output, text='重新计算', command=lambda: calcu_again(D2, D1, H)) btn_yh_calcu2.place(x=250, y=450, width=100) window_output.mainloop()
def duanyuan_calcu(D, L): #直接结算出不修改的值 def calcu_1(): global volume_dy global quality_dy quality_gd = quality_dy / 0.8 quality_gd = round(quality_gd, 2) quality_dy = round(quality_dy, 2) tk.Label(Window_output,text='毛坯锻件质量为'+str(quality_dy)+'吨。成材率≥80%,钢锭质量为'\ +str(quality_gd)+'吨。',font=(20)).place(x=30,y=30) global volume_dy global quality_dy allowance = 0 if 0 < L <= 1000: if 0 < D < 700: allowance = 35 elif 700 <= D < 850: allowance = 40 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif 1000 < L < 2000: if 0 < D < 700: allowance = 35 elif 700 <= D < 850: allowance = 40 elif 850 <= D < 1600: allowance = 45 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif 2000 <= L < 3500: if 0 < D < 550: allowance = 35 elif 550 <= D < 850: allowance = 40 elif 850 <= D: allowance = 45 elif 3500 <= L < 5000: if 0 < D < 550: allowance = 35 elif 550 <= D < 850: allowance = 40 elif 850 <= D < 1300: allowance = 45 elif 1300 <= D: allowance = 50 elif 5000 <= L < 7500: if 0 < D < 700: allowance = 40 elif 700 <= D < 1050: allowance = 45 elif 1050 <= D < 1300: allowance = 50 elif D >= 1300: allowance = 55 elif 7500 <= L < 10000: if 0 < D < 700: allowance = 45 elif 750 <= D < 1050: allowance = 50 elif 1050 <= L < 1600: allowance = 55 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif L >= 10000: if 0 < D < 550: allowance = 45 elif 550 <= D < 700: allowance = 50 elif 700 <= D < 1300: allowance = 55 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') #确定余量系数 if L / D >= 15: allowance = 1.1 * allowance elif L / D >= 30: allowance = 1.3 * allowance #加上余量 D = D + allowance L = L + 2 * allowance #取整 个位数为5或0 D = quzheng(D) L = quzheng(L) #计算体积,单位为立方米,质量,单位为吨 calcu_quality(D, L) #建立新窗口 Window_output = tk.Tk() Window_output.geometry('600x600') Window_output.title('锻圆件计算结果') #新建窗口上的label tk.Label(Window_output, text='D(加余量)为' + str(D)).place(x=250, y=100) tk.Label(Window_output, text='L(加余量)为' + str(L)).place(x=250, y=200) #新建窗口上的button btn_dy_calcu = tk.Button(Window_output, text='确定计算', command=calcu_1) btn_dy_calcu.place(x=250, y=400, width=100) btn_dy_calcu2 = tk.Button(Window_output, text='重新计算', command=lambda: calcu_again(D, L)) btn_dy_calcu2.place(x=250, y=450, width=100) Window_output.mainloop()
def fengjizhou_calcu(L1, D1, L2, D2, L3, D3, L4, L5, D5, L6, D6): #直接计算出加余量后的毛坯质量和除以成形率后得到的钢锭质量 def calcu_1(): global volume_fjz global quality_fjz # print("毛坯质量calcu_1"+str(quality_fjz)) quality_gd = quality_fjz / 0.75 quality_gd = round(quality_gd, 2) quality_fjz = round(quality_fjz, 2) tk.Label(window_output,text='风机轴毛坯锻件质量为'+str(quality_fjz)+'吨。成材率≥75%,钢锭质量为'+\ str(quality_gd)+'吨。',font=(20)).place(x=30,y=30) global volume_fjz global quality_fjz allowance_D1 = 0 #法兰直径余量 allowance_H = 0 #法兰厚度余量 allowance_S = 0 #轴身直径余量 if 1200 <= D1 < 1500: allowance_D1 = 55 allowance_H = 45 allowance_S = 40 elif 1500 <= D1 < 1800: allowance_D1 = 65 allowance_H = 50 allowance_S = 40 elif 1800 <= D1 < 2100: allowance_D1 = 75 allowance_H = 50 allowance_S = 45 elif 2100 <= D1: allowance_D1 = 80 allowance_H = 55 allowance_S = 45 else: # print("请检查输入的数据是否在合理范围内") tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') #加上余量 L1 = L1 + allowance_H D1 = D1 + allowance_D1 D2 = D2 + allowance_S D3 = D3 + allowance_S if D5 != 0: D5 = D5 + allowance_S if D6 != 0: D6 = D6 + allowance_S #取整 0 1 2舍去 8 9进10 3 4 5 6为5 L1 = quzheng(L1) D1 = quzheng(D1) D2 = quzheng(D2) D3 = quzheng(D3) D5 = quzheng(D5) D6 = quzheng(D6) # 计算体积 ,单位为立方米,计算质量,单位为吨 calcu_quality(L1, D1, L2, D2, L3, D3, L4, L5, D5, L6, D6) # print("毛坯质量"+str(quality_fjz)) window_output = tk.Tk() window_output.geometry('600x600') window_output.title('风机轴件计算结果') # 新建窗口上的label tk.Label(window_output, text='L1(加余量)为' + str(L1)).place(x=150, y=100) tk.Label(window_output, text='D1(加余量)为' + str(D1)).place(x=350, y=100) tk.Label(window_output, text='L2(加余量)为' + str(L2)).place(x=150, y=150) tk.Label(window_output, text='D2(加余量)为' + str(D2)).place(x=350, y=150) tk.Label(window_output, text='L3(加余量)为' + str(L3)).place(x=150, y=200) tk.Label(window_output, text='D3(加余量)为' + str(D3)).place(x=350, y=200) tk.Label(window_output, text='L4(加余量)为' + str(L4)).place(x=150, y=250) tk.Label(window_output, text='L5(加余量)为' + str(L5)).place(x=150, y=300) tk.Label(window_output, text='D5(加余量)为' + str(D5)).place(x=350, y=300) tk.Label(window_output, text='L6(加余量)为' + str(L6)).place(x=150, y=350) tk.Label(window_output, text='D6(加余量)为' + str(D6)).place(x=350, y=350) # 新建窗口上的button btn_yh_calcu = tk.Button(window_output, text='确定计算', command=calcu_1) btn_yh_calcu.place(x=250, y=400, width=100) btn_yh_calcu2=tk.Button(window_output,text='重新计算',command=lambda:\ calcu_again(L1,D1,L2,D2,L3,D3,L4,L5,D5,L6,D6)) btn_yh_calcu2.place(x=250, y=460, width=100) window_output.mainloop()
def mokuai_calcu(L, B, H): #计算出不修改的值 def calcu_1(): global volume_mk global quality_mk quality_gd = quality_mk / 0.75 quality_gd = round(quality_gd, 2) quality_mk = round(quality_mk, 2) tk.Label(window_ouput,text='模块毛坯锻件质量为'+str(quality_mk)+'吨。成材率≥75%,钢锭质量为'+\ str(quality_gd)+'吨。',font=(20)).place(x=30,y=30) global volume_mk global quality_mk allowance = 0 D = max(B, H) if 0 < L <= 1000: if 0 < D < 700: allowance = 35 elif 700 <= D < 850: allowance = 40 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif 1000 < L < 2000: if 0 < D < 700: allowance = 35 elif 700 <= D < 850: allowance = 40 elif 850 <= D < 1600: allowance = 45 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif 2000 <= L < 3500: if 0 < D < 550: allowance = 35 elif 550 <= D < 850: allowance = 40 elif 850 <= D: allowance = 45 elif 3500 <= L < 5000: if 0 < D < 550: allowance = 35 elif 550 <= D < 850: allowance = 40 elif 850 <= D < 1300: allowance = 45 elif 1300 <= D: allowance = 50 elif 5000 <= L < 7500: if 0 < D < 700: allowance = 40 elif 700 <= D < 1050: allowance = 45 elif 1050 <= D < 1300: allowance = 50 elif D >= 1300: allowance = 55 elif 7500 <= L < 10000: if 0 < D < 700: allowance = 45 elif 750 <= D < 1050: allowance = 50 elif 1050 <= L < 1600: allowance = 55 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif L >= 10000: if 0 < D < 550: allowance = 45 elif 550 <= D < 700: allowance = 50 elif 700 <= D < 1300: allowance = 55 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') #加上余量 L = L + 1.5 * allowance B = B + allowance H = H + allowance #取整个位数为5 或 0 L = quzheng(L) B = quzheng(B) H = quzheng(H) #计算毛坯的体积和质量 calcu_quality(L, B, H) #建立新窗口 window_ouput = tk.Tk() window_ouput.geometry('600x600') window_ouput.title('模块件计算结果') #新建窗口上的label tk.Label(window_ouput, text='L(加余量)为' + str(L)).place(x=250, y=100) tk.Label(window_ouput, text='B(加余量)为' + str(B)).place(x=250, y=200) tk.Label(window_ouput, text='H(加余量)为' + str(H)).place(x=250, y=300) #新建窗口上的button btn_mk_calcu = tk.Button(window_ouput, text='确定计算', command=calcu_1) btn_mk_calcu.place(x=250, y=400, width=100) btn_mk_calcu2 = tk.Button(window_ouput, text='重新计算', command=lambda: calcu_again(L, B, H)) btn_mk_calcu2.place(x=250, y=450, width=100) window_ouput.mainloop()
def tongti_calcu(D2, D1, L): #直接计算出加余量后的毛坯质量和除以成形率后得到的钢锭质量 def calcu_1(): global quality_tt quality_gd = quality_tt / 0.75 quality_gd = round(quality_gd, 2) quality_tt = round(quality_tt, 2) tk.Label(window_output,text='毛坯锻件质量为'+str(quality_tt)+'吨'+\ '成材率≥75%,钢锭质量为'+str(quality_gd)+'吨',font=(20)).place(x=50,y=30) global volume_tt global quality_tt allowance = 0 if D2 <= 500: if 0 < L < 2500: allowance = 35 elif 2500 <= L <= 9000: allowance = 40 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif 500 < D2 <= 700: if 0 < L < 4000: allowance = 40 elif 4000 <= L: allowance = 45 elif 700 <= D2 < 900: if 0 < L < 2500: allowance = 40 elif 2500 <= L < 9000: allowance = 45 elif 9000 <= L: allowance = 50 elif 900 <= D2 < 1100: if 1000 <= L < 1600: allowance = 40 elif 1600 <= L < 6300: allowance = 45 elif 6300 <= L: allowance = 50 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif 1100 <= D2 < 1350: if 1000 <= L < 2500: allowance = 45 elif 2500 <= L < 6300: allowance = 50 elif 6300 <= L: allowance = 55 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif 1350 <= D2 < 1700: if 2500 <= L < 4000: allowance = 50 elif 4000 <= L < 6300: allowance = 55 elif 6300 <= L: allowance = 60 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif 1700 <= D2: if 2500 <= L < 4000: allowance = 55 elif 4000 < L <= 9000: allowance = 60 elif 9000 <= L: allowance = 65 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') #加上余量 if L <= 1000: n = 1.5 elif 1000 < L < 2500: n = 1.8 elif 2500 <= L < 7000: n = 2 elif L >= 7000: n = 2.5 D2 = D2 + allowance D1 = D1 - 1.5 * allowance if D1 < 0: D1 = 0 L = L + n * allowance #取整 0 1 2舍去 8 9进10 3 4 5 6为5 D2 = quzheng(D2) D1 = quzheng(D1) L = quzheng(L) # 计算体积 ,单位为立方米,计算质量,单位为吨 calcu_quality(D2, D1, L) window_output = tk.Tk() window_output.geometry('600x600') window_output.title('筒体件计算结果') # 新建窗口上的label tk.Label(window_output, text='L(加余量)为' + str(L)).place(x=250, y=100) tk.Label(window_output, text='D1(加余量)为' + str(D1)).place(x=250, y=200) tk.Label(window_output, text='D2(加余量)为' + str(D2)).place(x=250, y=300) # 新建窗口上的button btn_yh_calcu = tk.Button(window_output, text='确定计算', command=calcu_1) btn_yh_calcu.place(x=250, y=400, width=100) btn_yh_calcu2 = tk.Button(window_output, text='重新计算', command=lambda: calcu_again(D2, D1, L)) btn_yh_calcu2.place(x=250, y=450, width=100) window_output.mainloop()
def yuanhuan_calcu(D2, D1, H): #直接计算出不修改的值 def calcu_1(): global volume_yh global quality_yh quality_gd = quality_yh / 0.75 quality_gd = round(quality_gd, 2) quality_yh = round(quality_yh, 2) tk.Label(window_output,text='毛坯锻件质量为'+str(quality_yh)+'吨。成材率≥75%,钢锭质量为'+\ str(quality_gd)+'吨。',font=20).place(x=30,y=30) global volume_yh global quality_yh allowance = 0 if 0 < H <= 300: if 0 < D2 <= 500: allowance = 30 elif 500 < D2 < 850: allowance = 35 elif 850 <= D2 < 1300: allowance = 40 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif 300 < H < 450: if 0 < D2 <= 500: allowance = 30 elif 500 < D2 < 850: allowance = 35 elif 850 <= D2 < 1100: allowance = 40 elif 1100 <= D2 < 1300: allowance = 45 elif 1300 <= D2 < 1750: allowance = 50 elif 1750 <= D2 < 2000: allowance = 55 elif 2000 <= D2 < 2300: allowance = 60 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif 450 <= H < 600: if 0 < D2 < 650: allowance = 35 elif 650 <= D2 < 850: allowance = 40 elif 850 <= D2 < 1300: allowance = 45 elif 1300 <= D2 < 1500: allowance = 50 elif 1500 <= D2 < 2000: allowance = 55 elif 2000 <= D2 < 2300: allowance = 60 elif 2300 <= D2 < 2600: allowance = 65 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif 600 <= H < 800: if 0 < D2 < 650: allowance = 40 elif 650 <= D2 < 1100: allowance = 45 elif 1100 <= D2 < 1300: allowance = 50 elif 1300 <= D2 < 1750: allowance = 55 elif 1750 <= D2 < 2000: allowance = 60 elif 2000 <= D2 < 2300: allowance = 65 elif 2300 <= D2 < 2900: allowance = 70 elif 2900 <= D2 < 3300: allowance = 75 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif 800 <= H < 1050: if 650 <= D2 < 1100: allowance = 45 elif 1100 <= D2 < 1300: allowance = 50 elif 1300 <= D2 < 1500: allowance = 55 elif 1500 <= D2 < 1750: allowance = 60 elif 1750 <= D2 < 2300: allowance = 65 elif 2300 <= D2 < 2600: allowance = 70 elif 2600 <= D2 < 2900: allowance = 75 elif 2900 <= D2 < 3300: allowance = 85 elif 3300 <= D2 < 3600: allowance = 90 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif 1050 <= H < 1400: if 850 <= D2 < 1300: allowance = 50 elif 1300 <= D2 < 1500: allowance = 55 elif 1500 <= D2 < 1750: allowance = 60 elif 1750 <= D2 < 2000: allowance = 65 elif 2000 <= D2 < 2300: allowance = 70 elif 2300 <= D2 < 2600: allowance = 75 elif 2600 <= D2 < 2900: allowance = 80 elif 2900 <= D2 < 3300: allowance = 90 elif 3300 <= D2 < 3600: allowance = 100 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') elif 1400 <= H < 1900: if 1100 <= D2 < 1300: allowance = 55 elif 1300 <= D2 < 1500: allowance = 60 elif 1500 <= D2 < 1750: allowance = 65 elif 1750 <= D2 < 2000: allowance = 70 elif 2000 <= D2 < 2300: allowance = 75 elif 2300 <= D2 < 2600: allowance = 80 elif 2600 <= D2 < 2900: allowance = 90 elif 2900 <= D2 < 3300: allowance = 100 elif 3300 <= D2 < 3600: allowance = 110 else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') else: tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内') #加上余量 D2 = D2 + allowance D1 = D1 - 1.2 * allowance H = H + 1.2 * allowance if D1 < 0: D1 = 0 #取整 个位数为5或0 D2 = quzheng(D2) D1 = quzheng(D1) H = quzheng(H) #计算毛坯的体积和质量,单位为立方米和吨 calcu_quality(D2, D1, H) #建立新窗口 window_output = tk.Tk() window_output.geometry('600x600') window_output.title('圆环件计算结果') #新建窗口上的label tk.Label(window_output, text='D2(加余量)为' + str(D2)).place(x=250, y=300) tk.Label(window_output, text='D1(加余量)为' + str(D1)).place(x=250, y=200) tk.Label(window_output, text='H(加余量)为' + str(H)).place(x=250, y=100) #新建窗口上的button btn_yh_calcu = tk.Button(window_output, text='确定计算', command=calcu_1) btn_yh_calcu.place(x=250, y=400, width=100) btn_yh_calcu2 = tk.Button(window_output, text='重新计算', command=lambda: calcu_again(D2, D1, H)) btn_yh_calcu2.place(x=250, y=450, width=100) window_output.mainloop()