为什么我有一个错误?您能帮忙修改我的代码吗?
-TypeError:类型
-TypeError:“float”对象无法解释为整数import numpy as np
import matplotlib.pyplot as plt
def f(x):
return x**3-2*x
def inputNumber(message):
while True:
try:
userInput =float(input(message))
except ValueError:
print("Enter valid")
continue
else:
return userInput
break
interval1=float(inputNumber("Please write lower bound: "))
interval=float(inputNumber("Please write upper bound: "))
stepsize=float(inputNumber("Enter a step size: "))
x = np.linspace(float(interval1),float(interval),float(stepsize))
y = f(x)
最佳答案
linspace
的前三个参数是开始,结束和要生成的样本数,而不是步长。尝试np.arange(interval1, interval, stepsize)
。
或者,您可以使用num = round((interval-interval1) / stepsize)
计算样本数,然后将其插入linspace:np.linspace(interval1, interval, num)
,但是我不建议使用它代替arange
。
关于python - 如何使用Numpy解决Type Error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65172221/