Python 计算公式时变量每次都在变化

Python 计算公式时变量每次都在变化,python,Python,我正在尝试为我的一个变量的四个不同值计算一个表达式。我正在尝试使用np.arange创建一个for循环,因为我的变量是一个float import numpy as np for Mf in np.arange(0.8,0.01,1.5): Vinf=Mf*(gamma*R*tatm)**0.5 print(Mf) 我想计算上述表达式的Mf=0.8、0.9、1.2和1.5。我只是不知道该怎么做,或者使用for循环更合适。最后,我想将输出Vinf保存在一个数组中。我怎样才能做到这

我正在尝试为我的一个变量的四个不同值计算一个表达式。我正在尝试使用np.arange创建一个for循环,因为我的变量是一个float

import numpy as np
for Mf in np.arange(0.8,0.01,1.5):
    Vinf=Mf*(gamma*R*tatm)**0.5
    print(Mf)
我想计算上述表达式的Mf=0.8、0.9、1.2和1.5。我只是不知道该怎么做,或者使用for循环更合适。最后,我想将输出Vinf保存在一个数组中。我怎样才能做到这一切

编辑:

好的,感谢用户gmds,我让上面的代码正常工作了。我试图使用为Mf_值创建的列表,以便在代码中的P0表达式中使用。我试过以下方法:

Mf_values=[0.8, 0.9, 1.2, 1.5]
Vinf_values=[Mf_value*(gamma*R*tatm)**0.5 for Mf_value in Mf_values]
print(Vinf_values)
P0=[(1+((gamma-1)/2)*(Mf_values**2)**(gamma/(gamma-1))]
print(P0)
T0=(1+((gamma-1)/2)*(Mf_values**2))*tatm
我想使用4个不同的Mf_值来求解P0和T0的表达式,并以与Vinf_值类似的方式将结果保存在列表中。但是,python给了我以下错误:

    P0=[(1+((gamma-1)/2)*(Mf_values**2)**(gamma/(gamma-1))]
                                                      ^
SyntaxError: invalid syntax

如何解决这个问题?

对于这个小示例,您不需要任何
numpy
,您可以在纯python中这样做:

Vinfs = []
for Mf in [0.8, 0.9, 1.2, 1.5]:
    Vinf=Mf*(gamma*R*tatm)**0.5
    Vinfs.append(Vinf)
Vinfs = np.array(Vinfs) # If you want to have `ndarray` as your output

您可以使用
列表
理解:

Mf_values = [0.8, 0.9, 1.2, 1.5]

Vinf_values = [Mf_value * (gamma * R * tatm) ** 0.5 for Mf_value in Mf_values]

有人能帮我处理第二段代码吗?