如何使用科学公式打印数据集的结果?

How to print results from a data set using a scientific formula?

我在编写这段代码时遇到了问题;我得到了两个列表(温度和压力),我需要循环这些数据值来计算每个值的潜在温度。 潜在温度= T(1000/P)^(R/Cp),其中R和Cp是常数(即指数)。这些常量是:

R=287
Cp=1004
The data given is:
Temp=[332.,335., 340., 336., 341.] 
Pressure=[970, 981, 984, 972, 992] 

如何使用 for-loop 设置代码,以便逐行打印具有相同索引的温度、压力和潜在温度?

import math 
Temp=[332.,335.,340.,336.,341.] 
Pressure=[970,981,984,972,992] 
Potential_Temperature=[] 
for i in range(len(Pressure)): 
    PT=math.pow((1000/Pressure[i]),(287/1004)) 
    Potential_Temperature.append(PT) 
    print(Temp) 
    print(Pressure) 
    print(Potential_Temperature)

你忘了乘以温度。尝试:

PT=Temperature[i]*math.pow((1000/Pressure[i]),(287/1004))

我会创建一个函数来完成您想要的数学运算:

R=287
Cp=1004
The data given is:
Temp=[332.,335., 340., 336., 341.] 
Pressure=[970, 981, 984, 972, 992] 

我不是很清楚你的问题是你想要 (T*(1000/P))^(R/Cp) 还是 T * ((1000/P)^(R/Cp )) 虽然我的数学有点生疏,但它们甚至可能是等价的

def potential_temp(temp, pressure, constants):
    r, cp = constants
    temp * ((1000/pressure) ** (r/cp))
    return temp

for temp, pressure in zip(Temp, Pressure):
    print(temp)
    print(pressure)
    print(potential_temp(temp, pressure, (R, Cp))
Theta = []
for i in range(len(Temp)):
    PT=Temp[i]*math.pow((1000/Pressure[i]),(R/Cp))
    Theta.append(PT)