使用Python解决《承压设备设计》筒体长度和公称直径的问题

废话不说直接上源码


# 定义数据

# 公称直径
DN_L = [300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000, 1100, 1200, 1300, 1400, 1500, 1600,
        1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400,
        3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200,
        5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000]
# 总深度
H_L = [100, 113, 125, 138, 150, 163, 175, 188, 200, 213, 225, 238, 250, 263, 275, 300, 325, 350, 375, 400, 425, 450,
       475, 500, 525, 565, 590, 615, 640, 665, 690, 715, 740, 765, 790, 815, 840, 865, 890, 915, 940, 965, 990, 1015,
       1040, 1065, 1090, 1115, 1140, 1165, 1190, 1215, 1240, 1265, 1290, 1315, 1340, 1365, 1390, 1415, 1440, 1465, 1490,
       1515, 1540]
# 内表面积
A_L = [0.1211, 0.1603, 0.2049, 0.2548, 0.3103, 0.3711, 0.4374, 0.5090, 0.5861, 0.6686, 0.7566, 0.8499, 0.9487, 1.0529,
       1.1625, 1.3980, 1.6552, 1.9340, 2.2346, 2.5568, 2.9007, 3.2662, 3.6535, 4.0624, 4.4930, 5.0443, 5.5229, 6.0233,
       6.5453, 7.0891, 7.6545, 8.2415, 8.8503, 9.4807, 10.1329, 10.8067, 11.5021, 12.2193, 12.9581, 13.7186, 14.5008,
       15.3047, 16.1303, 16.9775, 17.8464, 18.7370, 19.6493, 20.5832, 21.5389, 22.5162, 23.5152, 24.5359, 25.5782,
       26.6422, 27.7280, 28.8353, 29.9644, 31.1152, 32.2876, 33.4817, 34.6750, 35.9350, 37.1941, 38.4750, 39.7750]
# 容积
V_L = [0.0053, 0.0080, 0.0115, 0.0159, 0.0213, 0.0277, 0.0353, 0.0420, 0.0545, 0.0630, 0.0796, 0.0246, 0.1113, 0.1300,
       0.1505, 0.1980, 0.2545, 0.3208, 0.3970, 0.4860, 0.5864, 0.6999, 0.8270, 0.9687, 1.1257, 1.3508, 1.5459, 1.7588,
       1.9905, 2.2417, 2.5131, 2.8055, 3.1198, 3.4567, 3.8170, 4.2015, 4.6110, 5.0463, 5.5080, 5.9972, 6.5144, 7.0605,
       7.6364, 8.2427, 8.8802, 9.5498, 10.2523, 10.9883, 11.7588, 12.5644, 13.4060, 14.2844, 15.2003, 16.1545, 17.1479,
       18.1811, 19.2550, 20.3704, 21.5281, 22.7288, 23.9733, 25.2624, 26.5969, 27.9776, 29.4053]

# 输入待测封头公称直径
er = int(input('请输入待测公称直径:'))

D = DN_L.index(int(er))

# 搜索封头总适深度
H = int(H_L[D])

# 搜索封头内表面积
A = float(A_L[D])

# 搜索封头容积
V = float(V_L[D])

first = '(1)查公称直径为{0}mm封头标准椭圆形封头容积\n得:V封头={3}m3,总深度H={2}mm'.format(er, D, H, V)

# 输入设计总体积
V_Z = int(input('请输入设计总体积:'))
# 计算筒体的容积V筒体
V_TT = V_Z - 2 * V

second = '(2)计算筒体的容积V筒体\nV筒体=V总-2V封头={0}-2*{1}={2}m3'.format(V_Z, V, V_TT)

# 计算筒体长度L筒体
d = float(er / 1000)
L_TT = ((4 * V_TT) / 3.14 / (d ** 2))
third = '(3)计算筒体长度L筒体\n根据公式V筒体=πD2/4L筒体可得\nL筒体=4V筒体/π/D2=4*{0}/π/{1}={2}mm'.format(V_TT, d, L_TT)

# 计算总长度L
h = H / 1000
L_Z = 2 * h + L_TT

# 计算长径比B
B = float(L_Z / d)

fourth = '(4)计算长径比B\n总长度L=2H+L筒体=2*{0}+{1}={2}mm\nB=L/D={2}/{3}≈{4}(近似值)'.format(h, L_TT, L_Z, d, B)

print(first, second, third, fourth, sep='\n')

if 2 < B < 3:
    print('结论:以上公称直径选取{0}mm是合格的'.format(er))
else:
    print('结论:以上公称直径选取{0}mm是不合格的'.format(er))

简介:

此代码主要用到了

  • 列表
  • 输入函数
  • index()
  • 判断语句
  • 数据类型转换
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值