所以我试图在如下的for循环中使用一个值:
for i = 19:
dydx[i]=(y[i+1]-y[i])/x
我收到此错误
TypeError:“ int”对象不可迭代
为什么不能将变量设置为等于某个值?
答案 0 :(得分:1)
您不能遍历单个整数,如果以后会更改为特定值,请使其成为具有特定值的数组:
for i in [19]:
dydx[i]=(y[i+1]-y[i])/x
或者如果您真的只想要i的一个值,则不需要循环:
i = 19
dydx[i]=(y[i+1]-y[i])/x
答案 1 :(得分:0)
使用range函数(此示例将从0迭代到19):
for i in range(20):
dydx[i]=(y[i+1]-y[i])/x
您始终可以像这样range(1, 20)
指定起始值,它将从1迭代到19。
但是您不能遍历int变量。对于单个值,只需使用:
i = 19:
dydx[i]=(y[i+1]-y[i])/x
答案 2 :(得分:0)
以示例值为例:-
dydx = [1,2,3,4,5]
y = [5,6,7,8,8]
x = 10
for i = 3:
dydx[i]=(y[i+1]-y[i])/x
print(dydx)
将产生错误,因为
对于x = 10:
不是有效的语法
如果您只需要在列表上应用操作,则可以应用类似:-
dydx = [1,2,3,4,5]
y = [5,6,7,8,8]
x = 10
i = 3
dydx[i]=(y[i+1]-y[i])/x
print(dydx)
这行得通!