【问题标题】:How can I increase number by one only when the loop is over?如何仅在循环结束时将数字加一?
【发布时间】:2020-05-18 14:26:57
【问题描述】:

我试图仅在循环结束时将数字加一,然后我想用加一的新数字再次激活此循环。

for l in range(len(listc)):
  n+=1
  for item in new['stuff']:
   c+=1
   try:
    st = item[list1[c]]
    if org[c].startswith(listc[n]):
        byte += len(item["In"]+"1234")
        print(len(item["In"]+"1234"))
        if listc[c] == sorted_listc[1]:
            listc[c] = org[c][0:len(common)+1]
        print(hex(byte))
    else:
        pass


   except:
       continue

我希望每次 new['stuff'] 的循环结束时,n 都会增加一。 不知怎的,它不起作用,有什么帮助吗?

【问题讨论】:

  • 循环的种类比for循环多
  • @bryan60 哦,好的。你有什么解决办法吗?

标签: json python-3.x loops for-loop


【解决方案1】:

当您呈现代码时,您将在内部循环(在new['stuff'])开始之前增加n 上的值。

尝试将增量传递到内部循环的末尾。

n = 0
for l in range(len(listc)):
    for item in new['stuff']:
        ### do stuff
    n += 1

您也可以尝试使用Statements, and else Clauses on Loops

循环语句可能有一个else 子句;它在循环通过耗尽迭代终止时执行。

例如:

n = 0
for i in range(1, 5):
    for j in range(1, 3):
        print(i*j)
    else:
        n += 1

结果如下:

1
2
2
4
3
6
4
8
>>> print(n)
4

【讨论】:

    猜你喜欢
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 1970-01-01
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    相关资源
    最近更新 更多