本文介绍了Python不能将序列乘以'float'类型的非整数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试计算公式,npnumpy:

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'类型的非整数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-15 11:10