Python can';t将序列乘以类型为'的非整数;浮动';错误?

Python can';t将序列乘以类型为'的非整数;浮动';错误?,python,Python,我正在尝试做一个简单的计算(稍后将在数组上完成),并得到前面提到的错误 无法将序列与“float”类型的非int相乘 8.99*[-(math.log(1-0.5))**(1/2.87)]您正在尝试将列表(用方括号表示)乘以一个数字。试一试 8.99*((math.log(1-0.5))**(1/2.87))。方括号将-(math.log(1-0.5))**(1/2.87)的结果转换为一个包含单个元素的列表。错误消息是由于列表的“乘法”为8.99。*运算符应用于列表时意味着重复多次列表元素并创建

我正在尝试做一个简单的计算(稍后将在数组上完成),并得到前面提到的错误

无法将序列与“float”类型的非int相乘


8.99*[-(math.log(1-0.5))**(1/2.87)]
您正在尝试将列表(用方括号表示)乘以一个数字。试一试


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

方括号将
-(math.log(1-0.5))**(1/2.87)
的结果转换为一个包含单个元素的列表。错误消息是由于列表的“乘法”为8.99。
*
运算符应用于列表时意味着重复多次列表元素并创建新列表。e、 g.
5*[1]
变为
[1,1,1,1]
。Python抱怨不能将元素重复8.99次

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

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

方括号的预期用途是什么?我猜原因是[]括号,因为它被理解为一个列表,尝试只使用()。请注意
9*[-(math.log(1-0.5))**(1/2.87)]
可以工作(将
列表
整数相乘),这将为您提供一个列表,其中包含9个对值
-(math.log(1-0.5))**(1/2.87)
的引用。