Python 3.x 类型错误:'&燃气轮机=';在';类型';和';int';
我试图在python中定义一个heaviside函数,但遇到了一个奇怪的错误。我不确定“type”指的是什么,因为0只能是一个整数。请告知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
#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)