Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 类型错误:'&燃气轮机=';在';类型';和';int';_Python 3.x_Function - Fatal编程技术网

Python 3.x 类型错误:'&燃气轮机=';在';类型';和';int';

Python 3.x 类型错误:'&燃气轮机=';在';类型';和';int';,python-3.x,function,Python 3.x,Function,我试图在python中定义一个heaviside函数,但遇到了一个奇怪的错误。我不确定“type”指的是什么,因为0只能是一个整数。请告知 #Part A - Plot function against values of variable x import numpy as np import matplotlib.pyplot as plt import scipy.integrate as quad import math #make heaviside "theta" functio

我试图在python中定义一个heaviside函数,但遇到了一个奇怪的错误。我不确定“type”指的是什么,因为0只能是一个整数。请告知

#Part A - Plot function against values of variable x
import numpy as np
import matplotlib.pyplot as plt
import scipy.integrate as quad
import math 

#make heaviside "theta" function

x = int 
def heaviside (x): 
    if (x >= 0):
        return 1
    else: 
    return 0 

#plot
x = int
y = heaviside(x)*[1-heaviside(x-1)]
plt.plot(x, y)

您未正确设置x。如果希望x是整数,只需使用下面的赋值运算符

x = 5

当您声明x=int时,您将x等同于数据类型int,而不是该数据类型的实例。 您可以运行类似于此代码的程序来查看它

>>> x = int
>>> x(4.5)
4
相当于跑步

>>>int(4.5)
4
如果您为x传递一个数值,比如x=4,则不会出现此错误

下面的代码不再引发此错误。由此产生的情节没有显示太多;但是没有TypeError:无序类型:type()>=int()


x=int
这应该做什么?`您有多少python经验?您是否阅读了错误消息?您正在将
x
设置为
int
,这是一种
类型
,并将其与
0
,这是一种
int
。我认为op试图简单地使用y作为函数来计算图形的
y
s。好吧,你需要给pyplot.plot一个y值序列,不能只给一个formula@RyanHaining也许吧,但这并不重要。即使在最奇特的函数编程设置中,此代码也无法工作,因为根本没有常数限制某些内容(无限图?)。第二个答案可能是重复的。如果将x设置为一个特定的整数,那么定义一个x具有任何值的函数不会失败吗?@atemptcode如果您误解了matplotlib,您需要给它一个y值序列来绘制,而不是一个公式。经过多年的python实践,我从未见过这种示例(可能是因为我从来都不需要它)。很好(尽管它可能比问题要求的更高)!好的,我试着将x设置为一个实整数值,得到了相同的错误。我也试着根本不定义x,但仍然得到了相同的错误error@atemptcode你的问题是y的定义。请阅读重复链接,也许还有一些numpy/matplotlib教程。@pabtorre啊,好的,我更好地理解matlab获取输入的方式。我能使用np吗.linspace是否将x分配给更多值?@sascha
#Part A - Plot function against values of variable x
import numpy as np
import matplotlib.pyplot as plt
import scipy.integrate as quad
import math 

#make heaviside "theta" function


def heaviside (x): 
    if (x >= 0):
        return 1
    else: 
        return 0 

#plot
x = 5
y = heaviside(x)*[1-heaviside(x-1)]
plt.plot(x, y)