首页 > 解决方案 > 在 python 循环中放置计数器变量的位置?

问题描述

是什么不允许我将evenCounteror 'oddCounter' 变量放在for 循环if 语句中?如果计数器超出循环范围,循环如何知道它们在哪里?

list1 = [1,2,3,4,5,6,7,8]
evenCounter = 0
oddCounter = 0

for i in list1:
  if i%2 == 0:
    evenCounter += 1
  else:
    oddCounter += 1

print(evenCounter)
print(oddCounter)

如果这个问题是重复的,不要犹豫,这样标记它

标签: pythonfor-loopscopecounter

解决方案


如果counter在循环中,它会在您遍历序列时不断重新启动。下面loopCounter的内容被添加到if-else循环中,但在每次迭代时都会重置为零,在这个例子中,你可以看到它print

list1 = [1,2,3,4,5,6,7,8]
evenCounter = 0
oddCounter = 0

for i in list1:
    loopCounter = 0
    print(loopCounter)

    if i%2 == 0:
        evenCounter += 1
        loopCounter += 1
    else:
        oddCounter += 1
        loopCounter += 1

print(evenCounter)
print(oddCounter)

推荐阅读