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

时间:2019-08-07 10:16:12

标签: python

我正在尝试做一个简单的计算(以后将在数组上完成)并得到上述错误。

  

不能将序列乘以'float'类型的非整数

8.99*[-(math.log(1-0.5))**(1/2.87)]

2 个答案:

答案 0 :(得分:3)

方括号将-(math.log(1-0.5))**(1/2.87)的结果转换为带有单个元素的列表。该错误信息是由于列表与8.99的“相乘”。 *运算符应用于列表时,意味着多次重复列表元素并创建一个新列表。例如5 * [1]成为[1, 1, 1, 1, 1]。 Python抱怨您不能重复元素8.99次。

您只需删除方括号即可获得有效答案

8.99 * -(math.log(1 - 0.5)) ** (1 / 2.87)

答案 1 :(得分:1)

您正在尝试将列表(用方括号表示)乘以一个数字。尝试

#Output: # A_1 B_1 1 # B_2 0.5 # A_2 B_1 1 # B_2 0.5