У меня есть эта функция с вложенными операторами if, где после второго, если есть приращение переменных. Проблема заключается в том, что они увеличиваются только один раз, хотя метод печати выполняется столько раз, сколько есть экземпляров рассматриваемого числа (ноль или семь). Если я перемещу строку приращения вверх и помещу ее ниже первого оператора 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