Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:for循环中的输出错误_Python_Loops_For Loop - Fatal编程技术网

Python:for循环中的输出错误

Python:for循环中的输出错误,python,loops,for-loop,Python,Loops,For Loop,这是我的python代码: 我的问题就在这里 当我运行时,第一次打印输出是正确的,但是第二次打印,每轮打印最后一个r(r=10)。 有什么问题 这些是产出: [[220, 144, 55, 176], [155, 73, 223, 233], [151, 254, 114, 63], [56, 129, 21, 167]] [[210, 201, 107, 183], [73, 128, 180, 94], [222, 126, 198, 97], [230, 255, 211, 198]] [

这是我的python代码:
我的问题就在这里

当我运行时,第一次打印输出是正确的,但是第二次打印,每轮打印最后一个r(r=10)。 有什么问题

这些是产出:

[[220, 144, 55, 176], [155, 73, 223, 233], [151, 254, 114, 63], [56, 129, 21, 167]]
[[210, 201, 107, 183], [73, 128, 180, 94], [222, 126, 198, 97], [230, 255, 211, 198]]
[[192, 175, 223, 57], [137, 47, 107, 103], [87, 81, 173, 6], [177, 174, 126, 192]]
[[44, 92, 101, 241], [165, 115, 14, 150], [242, 34, 163, 144], [67, 140, 221, 80]]
[[88, 157, 54, 235], [253, 238, 56, 125], [15, 204, 155, 237], [76, 64, 70, 189]]
[[113, 199, 76, 194], [140, 41, 116, 191], [131, 229, 239, 82], [207, 165, 169, 239]]
[[55, 20, 147, 72], [187, 61, 231, 247], [56, 216, 8, 165], [247, 125, 161, 74]]
[[72, 38, 69, 32], [243, 27, 162, 215], [203, 195, 170, 114], [60, 190, 11, 56]]
[[253, 13, 66, 203], [14, 22, 224, 28], [197, 213, 74, 110], [249, 107, 65, 86]]
[[180, 142, 243, 82], [186, 152, 19, 78], [127, 77, 89, 32], [134, 38, 24, 118]]

[[[15, 21, 113, 201], [71, 217, 232, 89], [12, 183, 173, 214], [175, 127, 103, 152]],
[[180, 142, 243, 82], [186, 152, 19, 78], [127, 77, 89, 32], [134, 38, 24, 118]], 
[[180, 142, 243, 82], [186, 152, 19, 78], [127, 77, 89, 32], [134, 38, 24, 118]],
[[180, 142, 243, 82], [186, 152, 19, 78], [127, 77, 89, 32], [134, 38, 24, 118]], 
[[180, 142, 243, 82], [186, 152, 19, 78], [127, 77, 89, 32], [134, 38, 24, 118]], 
[[180, 142, 243, 82], [186, 152, 19, 78], [127, 77, 89, 32], [134, 38, 24, 118]], 
[[180, 142, 243, 82], [186, 152, 19, 78], [127, 77, 89, 32], [134, 38, 24, 118]], 
[[180, 142, 243, 82], [186, 152, 19, 78], [127, 77, 89, 32], [134, 38, 24, 118]], 
[[180, 142, 243, 82], [186, 152, 19, 78], [127, 77, 89, 32], [134, 38, 24, 118]], 
[[180, 142, 243, 82], [186, 152, 19, 78], [127, 77, 89, 32], [134, 38, 24, 118]], 
[[180, 142, 243, 82], [186, 152, 19, 78], [127, 77, 89, 32], [134, 38, 24, 118]]]
正如您所看到的,第一次和第二次打印输出是不一样的。首先是正确的

格式化第二行以避免长的水平滚动条


检查上次打印是否在循环的
之外

是的,似乎您正在覆盖[r][0]、[r][1]等行中的一些索引:

    self.keyword[r][0]=ke.Xor(self.keyword[r-1][0],self.z[r])
    self.keyword[r][1]=ke.Xor(self.keyword[r][0],self.keyword[r-1][1])
    self.keyword[r][2]=ke.Xor(self.keyword[r][1],self.keyword[r-1][2])
    self.keyword[r][3]=ke.Xor(self.keyword[r][2],self.keyword[r-1][3])
这是一个带有格式化代码的注释,请不要以任何方式投票

下面的代码被认为是

编辑

似乎OP在她/他的
关键字
数据结构的不同行中复制了相同的可变数据结构。只是猜测一下,因为OP没有显示代码的相关部分。

我发现了问题: 在类方法中,我使用return,因此它会覆盖和更改输入。

很抱歉,我应该写完整的代码:(

我在你的代码中看不到
print(r)
。你的意思是
print(self.keyword[r])
没有输出你想要的,还是说打印(self.keyword[r])输出是正确的,但是打印(self.keyword)是正确的不是。最后一个是外循环,所以它的输出为什么不像第一个?我想你知道你在做什么,所以我不会打扰你关于
k[r]
k
,但请展示您的输出并解释其错误原因。下面我写了一条评论作为答案,以复制您程序的逻辑,打印的内容正是我所期望的。输出。现在很简单…感谢您展示输出!当您创建
关键字
数据结构时您一次又一次地复制了相同的可变数据结构,因此当您更新
k[r]
时,您正在更新一个共享数据结构。谢谢。那么我应该如何修复它?我需要self.keyword在另一个函数中使用。最后一次打印(print(self.keyword))是外部for循环!如果最后一次打印在函数
def expanion内,First是内部检查(self)
,在其他地方,您应该使用,
返回值
或全局变量。还要检查您是否更改了
self.keyword的值。
中的所有演算是何时在
for
循环中进行的。似乎您正在覆盖某些索引:)我不认为我在覆盖某些索引,因为否则内部打印将无法提供正确的输出。如果不覆盖,则可能输入的数据是错误的。如果有两个不同的输出,那么,使它们不同的区别是什么?:)太好了!你可以接受@GBOFI的回答。祝贺你,祝你好运。:)@HBS如果您发现的错误与
关键字的初始化代码无关,那么在我看来,您接受我的答案有点过分。如果你改变主意,我一点也不会受到伤害,我仍然很高兴能帮上忙。@维塔莉,谢谢你的赞助,真的。他们两个都很有天赋。事实上你的评论让我意识到了我的错。谢谢。
    self.keyword[r][0]=ke.Xor(self.keyword[r-1][0],self.z[r])
    self.keyword[r][1]=ke.Xor(self.keyword[r][0],self.keyword[r-1][1])
    self.keyword[r][2]=ke.Xor(self.keyword[r][1],self.keyword[r-1][2])
    self.keyword[r][3]=ke.Xor(self.keyword[r][2],self.keyword[r-1][3])