2017-03-01 94 views
0

我正在创建一个程序,将创建一个网格和程序将 希望通过您在输入分配的矩阵数组的位置。python循环矩阵分配值

代码:

def onbekende_naam(hoogtes): 
    print(hoogtes) 
    i = 0 
    j = 0 
    pos1 = set() 

    for hoogtes_subs in hoogtes: 
     j = 0 
     for hoogtes in hoogtes: 
      print("i = " + str(i)) 
      print("j = " + str(j)) 
      pos1.add((i, j)) 
      print pos1 
      j += 1 
     i += 1 
     #pos1.add((i, j)) 

    return pos1 

#verwerking 
print (onbekende_naam(hoogtes)) 

输入:

4 4 
1 2 3 4 
5 6 7 8 
9 1 2 3 
4 5 6 7 
12 1 

输出:

[['1', '2', '3', '4'], ['5', '6', '7', '8'], ['9', '1', '2', '3'], ['4', '5', '6', '7']] 
i = 0 
j = 0 
set([(0, 0)]) 
i = 0 
j = 1 
set([(0, 1), (0, 0)]) 
i = 0 
j = 2 
set([(0, 1), (0, 0), (0, 2)]) 
i = 0 
j = 3 
set([(0, 1), (0, 3), (0, 0), (0, 2)]) 
i = 1 
j = 0 
set([(0, 1), (0, 3), (0, 0), (0, 2), (1, 0)]) 
i = 1 
j = 1 
set([(0, 1), (0, 0), (0, 2), (1, 0), (0, 3), (1, 1)]) 
i = 1 
j = 2 
set([(0, 1), (1, 2), (0, 0), (0, 2), (1, 0), (0, 3), (1, 1)]) 
i = 1 
j = 3 
set([(0, 1), (1, 2), (0, 0), (0, 2), (1, 3), (1, 0), (0, 3), (1, 1)]) 
i = 2 
j = 0 
set([(0, 1), (1, 2), (0, 0), (0, 2), (2, 0), (1, 3), (1, 0), (0, 3), (1, 1)]) 
i = 3 
j = 0 
set([(0, 1), (1, 2), (0, 0), (3, 0), (0, 2), (2, 0), (1, 3), (1, 0), (0, 3), (1, 1)]) 
set([(0, 1), (1, 2), (0, 0), (3, 0), (0, 2), (2, 0), (1, 3), (1, 0), (0, 3), (1, 1)]) 

,你可以看到它停止递增Ĵ当I值是大于2

我很新在此非常感谢您的帮助

+0

请在您的问题中包含代码_as格式的text_,并确保它是[mcve]。 – ForceBru

+0

Ha,kan je je代码normaal复制pasten? – rmeertens

回答

0

看起来您在第二个循环中使用了相同的名称。你可以尝试,如果改变这个作品?

def onbekende_naam(hoogtes): 
    print(hoogtes) 
    i = 0 
    j = 0 
    pos1 = set() 

    for hoogtes_subs in hoogtes: 
     j = 0 
     for another_name_hoogtes in hoogtes: 
      print("i = " + str(i)) 
      print("j = " + str(j)) 
      pos1.add((i, j)) 
      print pos1 
      j += 1 
     i += 1 
     #pos1.add((i, j)) 

    return pos1 

#verwerking 
print (onbekende_naam(hoogtes)) 

另外:当我运行你的原代码,我得到以下错误:

TypeError: 'int' object is not iterable

你为什么没有得到这个错误?

+0

看看我的编辑。你甚至没有使用数组中的值。无论如何:不要在将来使用重复的变量名称;) – rmeertens

+0

非常感谢。 我以前有过这个错误,并修复它。 但这次总算没有了。 (在我的第一个评论中,我正在查看你的代码,而不是原来的那个地方,我的困惑来自这里) – learningjoe

+0

太好了。祝你的项目好运。 – rmeertens