错误:"不能将序列乘以非整数类型' float'"

时间:2017-10-06 15:41:20

标签: python-3.x math

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

2 个答案:

答案 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);