本文介绍了Python不能将序列乘以'float'类型的非整数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试计算公式,np
是numpy
:
I am trying to evaluate a formula, np
is numpy
:
Ds = pow(10,5)
D = np.linspace(0, pow(10,6), 100)
alpha=1.44
beta=0.44
A=alpha*(D/Ds)
L=1.65
buf2=L/4.343
buf=pow(-(alpha*[D/Ds]),beta)
value=exp(buf)
然后我将绘制这些数据,但是我得到:
and then I will plot this data but I get:
buf=pow(-(alpha*[D/Ds]),beta)
TypeError: can't multiply sequence by non-int of type 'float'
我该如何克服?
推荐答案
更改:
buf=pow(-(alpha*[D/Ds]),beta)
收件人:
buf=pow(-(alpha*(D/Ds)),beta)
此:
[D/Ds]
让您列出一个元素.
但是这个:
alpha * (D/Ds)
计算与alpha
相乘之前的除法.
computes the divisions before the multiplication with alpha
.
您可以将列表乘以整数:
You can multiply a list by an integer:
>>> [1] * 4
[1, 1, 1, 1]
但不是浮空的:
[1] * 4.0
TypeError: can't multiply sequence by non-int of type 'float'
因为列表中不能包含部分元素.
since you cannot have partial elements in a list.
在数学计算中,可以使用归类法进行分组:
Parenthesis can be used for grouping in the mathematical calculations:
>>> (1 + 2) * 4
12
这篇关于Python不能将序列乘以'float'类型的非整数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!