【问题标题】:cannot unpack non-iterable int object for given recurrence relationship for two coupled sequences?无法为两个耦合序列的给定递归关系解压缩不可迭代的 int 对象?
【发布时间】:2023-03-19 14:35:01
【问题描述】:

我已经为两个耦合序列创建了递归关系的代码,但由于某种原因,我收到了一个错误

代码:

import math

for x,y in range(1,3):
    def Function_X_Y(x,y):
        x_val = (-5*x*(n-2)) + (2*y*(n-1))
        y_val = (3*y*(n-2)) - (4*x*(n-1)) + (4*y*(n-1)) 
        return(x_val, y_val)

def coupled_sequence(n):
    return Function_X_Y(x,y)

print(coupled_sequence(0))
print(coupled_sequence(1))
print(coupled_sequence(5))

#Expected output: print(coupled_sequence(0))
#>>> (1, 1)

#print(coupled_sequence(1))
#>>> (2, 2)

#print(coupled_sequence(5))
#>>> (246, 322)

错误

----> 5 for x,y in range(1,3):
      6     def Function_X_Y(x,y):
      7         x_val = (-5*x*(n-2)) + (2*y*(n-1))

TypeError: cannot unpack non-iterable int object 

我在for 循环的帮助下尝试了不同的方法来迭代给定的函数,但无法获得预期的输出

【问题讨论】:

  • 你具体想做什么?你只是想设置x=1y=2 吗?目前尚不清楚为什么你需要一个 for 循环来做到这一点。就此而言,nFunction_X_Y 中未定义;我假设您打算将其作为变量传递?请澄清
  • 我正在尝试设置 x=y =1,2 你能帮我如何定义 n 吗?是的,我试图将它作为变量传递。 xn=−5xn−2+2yn−1yn=3yn−2−4xn−1+4yn−1 其中x,y = 1, 2 我正在尝试遍历 for 循环以从调用函数中获取结果。

标签: python python-3.x recurrence


【解决方案1】:

Range 正在使用的每次迭代只会返回一个整数,因此您无法以这种方式获得多个值。根据您的用例,您可以在现有循环中创建另一个循环,请参阅question

【讨论】:

    最近更新 更多