首页 > 解决方案 > python中嵌套if语句的增量

问题描述

我有这个带有嵌套 if 语句的函数,其中第二个 if 有一个变量的增量。问题是它们只增加一次,尽管 print 方法的执行次数与所讨论的数字的实例一样多(零或七)。如果我将增量​​行向上移动并将其放在第一个 if 语句下方,增量变量就会更新,并且它可以工作。我尝试了相同的代码,它是 JavaScript 的一个版本,但我没有遇到这个问题。如果有人能解释它为什么会发生,它背后的 Python 逻辑是什么,我将不胜感激。

def spy_game(integers):
    zeros_index = 0
    seven_index = 0
    zeros_count = 0
    seven_count = 0
    for number in integers:
        if number == 0:
            if zeros_index < integers.index(number):
                zeros_index = integers.index(number)
                print(zeros_index)
                zeros_count = zeros_count + 1
                print(zeros_count)
        elif number == 7:
            if seven_index < integers.index(number):
                seven_index = integers.index(number)
                seven_count += 1
                print(seven_count)
    if zeros_count > 1 and seven_count > 0:
        return zeros_index < seven_index
    else:
        return False

标签: pythonif-statementnestedincrement

解决方案


推荐阅读