它说错误是当h(海拔高度)介于11000和25000之间时,所以我只发布了所有if循环之外的初始内容以及发生问题的特定循环。这是我的代码:
import math;
T = 0.0;
P = 0.0;
hString = ("What is the altitude in meters?");
h = int(hString);
e = math.exp(0.000157*h);
elif 11000 < h < 25000:
T = -56.46;
P = (22.65)*[(1.73)-e];
答案 0 :(得分:3)
使用数学运算时,需要注意括号。
P = (22.65)*((1.73)-e); #will be right way of using
[] using将创建一个您在此程序中不需要的列表。
这是一个link,它可以帮助您在学习数学时更多地了解类型转换和正确使用括号。
您的代码中还没有使用
hString =input ("What is the altitude in meters?");
h = int(hString);
输入将允许您从用户获取值,然后int(your_input)
将帮助您转换为整数
答案 1 :(得分:2)
最后一行([(1.73)-e]
)中的方括号创建一个列表。在这种情况下,它是一个包含一个元素的列表,即(1.73)-e
。我想你有意将那些作为parens。做出改变,它会起作用。
最后一行变为:
P = (22.65)*((1.73)-e);