无止境循环获胜

2024-09-22 20:29:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我很难理解为什么这是代码的一部分

for stanje in pomocna:
    for znak in abcd:
        novi = tablicaPrijelaza.get((stanje, znak))
        dohvatljiva_stanja.append(novi)
dohvatljiva_stanja = list(set(dohvatljiva_stanja))
dohvatljiva_stanja = sorted(dohvatljiva_stanja)
pomocna = dohvatljiva_stanja

未完成x次,使用执行x iterrations的for的实现

然而,它似乎做了一个无休止的循环。 一次迭代是好的,它做了它应该做的,但在第一次迭代后,它什么也去不了 回溯说它被卡在第二个位置。你知道吗


Tags: 代码inforgetlistabcdsetappend
1条回答
网友
1楼 · 发布于 2024-09-22 20:29:38

正确的实现更像这样:

 for stanje in dohvatljiva_stanja:
    for znak in abcd:
        novi=tablicaPrijelaza.get((stanje,znak))
        if novi:
            pomocna.append(novi)
dohvatljiva_stanja.extend(pomocna)
dohvatljiva_stanja=list(set(dohvatljiva_stanja))
dohvatljiva_stanja=sorted(dohvatljiva_stanja)
del pomocna[0:len(pomocna)]

相关问题 更多 >