如何遍历循环并打印循环值

2024-05-22 01:23:59 发布

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

我有以下数组:

   Nod= ['338', '299', '299', '300', '300', '335', '336', '314', '335', '336', '337', '338', '309', '337', '314', '309']

现在,我必须编写一个代码,使其循环通过Nod[],并将某些变量赋给前两个数字,如下所示:

  1. 节点1=338
  2. 节点2=299
  3. 在reming集中搜索Node2(即299)
  4. 并将相邻值赋给Node3,即Node3=300
  5. 详细列出所有使用的数字
  6. 循环在此结束,从下一个循环开始,它应该搜索Node3值并将其指定为Node1

继续循环直到Nod==0

代码的结果应该是

第一回路

Node1= 338
Node2= 299
Node3= 300

在第二个回路中

Node1= 300
Node2=335
Node3=336

第三环路

Node1=336
Node2=314
Node3=309

第四

Node1=309
Node2=337
Node3=338

循环到此结束

我对编码和python非常陌生,请帮我写代码。我试过使用不同的循环,但无法理解逻辑和代码。 提前谢谢。你知道吗


Tags: 代码编码节点数字数组逻辑nodnode1
1条回答
网友
1楼 · 发布于 2024-05-22 01:23:59
node= ['338', '299', '299', '300', '300', '335', '336', '314', '335', '336', '337', '338', '309', '337', '314', '309']
while(len(node)!=3):
    fst_element = node[0]
    snd_element = node[1]
    third_element = node[2:][node[2:].index(snd_element)+1]
    print "fst: %s\t2nd: %s\t3rd: %s"%(fst_element,snd_element,third_element)
    node = [x for x in node[2:] if x != fst_element]
    node = [x for x in node if x != snd_element]
    node = [x for x in node if x != third_element]
    node.insert(0,third_element)
print "last result: " + str(node) 

我想以上就是你想要的。我认为上一次迭代的结果是:

Node1=309
Node2=337
Node3=337 

根据你的算法,数字338已经从第一次迭代中删除了。你知道吗

快乐学习Python。你知道吗

相关问题 更多 >