错误:"can't multiply sequence by non-int of type 'float'"



它说错误是当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];

当你使用数学运算时,你需要小心括号。

    P = (22.65)*((1.73)-e); #will be right way of using

[ ] 使用将创建一个您在此程序中不需要的列表。

这是一个链接,它将帮助您了解有关类型转换和正确使用括号的更多信息,

同时对其进行数学运算。

同样在您的代码中您没有使用

      hString =input ("What is the altitude in meters?");
      h = int(hString);

输入将允许您从用户那里获取值,然后int(your_input)将帮助您转换为整数

最后一行的方括号 ( [(1.73)-e] ) 创建一个列表。在这种情况下,它是一个带有一个元素的列表,即 (1.73)-e .我想你打算让那些成为帕伦斯。做出这种改变,它就会起作用。

最后一行变为:

P = (22.65)*((1.73)-e);

相关内容

最新更新