【发布时间】:2017-06-13 09:52:33
【问题描述】:
我刚开始用小脚本学习 python。我遇到了一个测验,以确定如果第一行与第一列相同,则列表是对称的, 第二行与第二列相同,依此类推。
def symmetric(block):
n = len(block)
i = 0
for i in range(n-1):
j = 0
for j in range(n-1):
if (block[i][j] != block[j][i]):
return False
j +=1
i +=1
return True
所以结果
print symmetric([["cat", "dog", "fish"],
["dog", "dog", "dog"],
["fish","fish","cat"]])
应该是假的。
然而,这段代码总是返回 True,在调试器中我可以看到 block[i][j] != block[j][i] 返回 True 但 if 块没有执行。比较有什么问题还是 if 块没有正确组合?
【问题讨论】:
-
请修正缩进。严重缩进的 Python 代码是无稽之谈。
-
第三行
i = 0没有意义!第五行也一样。
标签: python string if-statement