вам больше не нужен почтовый индекс, вы создаете бесконечный цикл для меньшего из двух чисел и затем нормальный диапазон для большего числа. таким образом, минимальный диапазон будет бесконечным, а максимальный диапазон будет конечным диапазоном.
Вы можете просто использовать обычный zip для go через них, пока не достигнете конца бесконечного диапазона.
from itertools import cycle
x = 8
y = 5
min_range = cycle(range(min(x, y)))
max_range = range(max(x, y))
for x_val, y_val in zip(min_range, max_range):
print(x_val)
print(y_val)
ВЫХОД
0
0
1
1
2
2
3
3
4
4
0
5
1
6
2
7
ОБНОВЛЕНИЕ НА ОСНОВЕ КОММЕНТАРИЙ
Теперь значения x_val и y_val привязаны к диапазону x и y, а наименьшее из значений x или y будет циклически изменяться в диапазоне.
from itertools import cycle
x = 8
y = 5
x_range = range(x)
y_range = range(y)
if x > y:
y_range = cycle(y_range)
elif y > x:
x_range = cycle(x_range)
for x_val, y_val in zip(x_range, y_range):
print(x_val)
print(y_val)
Обратите внимание, что вывод теперь будет отличаться, когда x больше, чем y, или когда y больше, чем x, поскольку x всегда будет выводиться первым.
OUTPUT x = 2, y = 3
0
0
1
1
0
2
ВЫХОД x = 3 y = 2
0
0
1
1
2
0