if (type(n) == int):
y = np.zeros(n)
y[0] = seed
elif (type(n) == tuple):
for a,b in n:
if (type(a) == int):
y = np.zeros(a)
y[0] = seed
elif (type(b) == int):
y = np.zeros(b)
y[0] = seed
我一直试图通过元组拆包来获取此代码,以仅接受输入到元组中的整数,并使用该整数形成一个由零组成的数组,该整数用于形成其大小并丢弃其余部分,但是我似乎无法避免收到错误消息 TypeError:'int'对象不可迭代,无论如何您可以帮助我解决此问题,此代码中有两种情况,其中n可以是整数或元组。谢谢您的帮助
答案 0 :(得分:1)
看起来n
是一个(两个元素?)元组-例如(x,y)
。然后,行for a,b in n:
基本上等效于for a,b in (x,y):
。在循环的第一次迭代中,Python尝试将元组x
的第一个元素分配给a,b
,这是不可能的。
您应该使用赋值a,b=n
替换循环,或者只使用n[0]
和n[1]
而不是a
和b
。