发布于2020-02-25 19:55 阅读(292) 评论(0) 点赞(22) 收藏(4)
我在停止Python中的迭代时遇到了一些麻烦。函数中发生此问题:
for z in range(w.steps):
for i in range(1,w.x-1):
for j in range(1,w.y-1):
print (i, j)
for r in data.c:
if w.world[i][j] in r:
print r
ind = data.c.index(r)
print ind
if w.world[i-1][j] in data.n[ind]:
if w.world[i][j+1] in data.e[ind]:
if w.world[i+1][j] in data.s[ind]:
if w.world[i][j-1] in data.w[ind]:
w.world[i][j] = data.cc[ind]
步数(第一for
循环)由用户提供。接下来的两个for
循环用于遍历二维数组(x
-rows -- y
cols):
for i in range(1,w.x-1):
for j in range(1,w.y-1):
(打印仅用于控制)我想检查数组中的每个单元格的值。我在data.c列表中有所有可能的值(比如说value = 14),它看起来像那个:
li = [[2],[14,23],[4]]
所以指令:
for r in data.c:
if w.world[i][j] in r:
我想在第一次true
出现时停止迭代。如果函数将达到第一个相等的值,我想分配包含它的列表的索引,并执行其他语句:
ind = data.c.index(r)
if w.world[i-1][j] in data.n[ind]:
if w.world[i][j+1] in data.e[ind]:
if w.world[i+1][j] in data.s[ind]:
if w.world[i][j-1] in data.w[ind]:
w.world[i][j] = data.cc[ind]
如果它们都是true
,我想执行最后一条指令(赋值),然后从数组转到下一个单元格。但是,如果其中至少有一个是false
,我想回去寻找data.c
列表中的下一个匹配项(可能不止一个)。列表中肯定有所有可能性的值。关键是要先使用会匹配的。
我尝试了1个单元的此功能,但索引却比预期的多得多,我不知道为什么。来自数组的一个单元格的输出与我的评论是什么:
(1, 1) # print(i,j)
[0] # print r
3 # print data.c.index(r)
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
[0]
3
我将非常感谢您的帮助,因为我已经使用该算法很长时间了(我是编程的初学者)。
如果我理解正确,则需要break
发表声明。
for z in range(w.steps):
for i in range(1,w.x-1):
for j in range(1,w.y-1):
print (i, j)
for r in data.c:
if w.world[i][j] in r:
print r
ind = data.c.index(r)
print ind
if w.world[i-1][j] in data.n[ind]:
if w.world[i][j+1] in data.e[ind]:
if w.world[i+1][j] in data.s[ind]:
if w.world[i][j-1] in data.w[ind]:
w.world[i][j] = data.cc[ind]
break # <-- break "for r" and continue with "for j"
作者:黑洞官方问答小能手
链接:https://www.pythonheidong.com/blog/article/233623/299796e17467926f3139/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!