У меня проблемы с реализацией счетчика для подсчета итераций на удвоении для l oop.
Мой код следующий:
def encode(mat,l,c,mode,m):
sampleCount = 0
for i in range(l):
for j in range(c):
sampleCount += 1
print(sampleCount)
Моя программа вызывает эту функцию с значения «l» 720 и 360 и значения «c» 1280 и 640 соответственно. Чего я ожидал, так это значения sampleCount 921600 и 230400. Однако он печатает 1279 или 639. Кроме того, когда я тестировал печать i и j, вот так:
for i in range(l):
print(i)
for j in range(c):
print(j)
Что я получаю, так это печать всей программы значения i, от 0 до l-1, и только затем выведите значения j от 0 до c -1.
Может кто-нибудь сказать мне, что я могу делать неправильно? Заранее спасибо!
Редактировать: вставленный код без идентификатора
Редактировать 2: Пробовал комментировать все после sampleCount + = 1. В этом случае я получаю ожидаемые результаты. И он продолжает работать хорошо, если я раскомментирую следующие две строки кода. Тем не менее, когда я попытался раскомментировать более 3 строк кода, это привело к неправильному поведению. Короче говоря, это работает, когда код выглядит так:
def encode2(mat,l,c,mode,m):
sampleCount = 0
for i in range(l):
for j in range(c):
sampleCount += 1
a = 0
b = 0
# c = 0
# x = 0
# if (i == 0 & j == 0):
# a = 0
# b = 0
# c = 0
... ...
И снова ведет себя плохо, если код выглядит так:
def encode2(mat,l,c,mode,m):
sampleCount = 0
for i in range(l):
for j in range(c):
sampleCount += 1
a = 0
b = 0
c = 0
# x = 0
# if (i == 0 & j == 0):
# a = 0
# b = 0
# c = 0
... ...