Найти - Пользователи
Полная версия: Цикл... с шагом?
Начало » Python для новичков » Цикл... с шагом?
1 2
Felixx
Привет всем, подскажите полалуйста, есть цикл
    
for i in range(CONFIG_MAX + 1):

Как я понимаю это цикл с шагом “CONFIG_MAX + 1” ?
от 0 до … бесконечности? 0_о
Или я вообще не правельно все понел?

Может ли это быть аналогом?

for(int i = 0; i <= CONFIG_MAX + 1; i++)
FishHook
>>> for i in range(0,100,12):
...     print i
... 
0
12
24
36
48
60
72
84
96
>>> 
XPb14
Не совсем понял вопрос, но для цикла с шагом есть функция range. Например цикл от нуля, до десяти с шагом два:
for i in range(0, 10, 2):
       ...
Подробнее
Felixx
Это я знаю, но тут 3 переменные, а у меня одна переменная в range

range(4) получается если быть точным.
Felixx
XPb14
Не совсем понял вопрос, но для цикла с шагом есть функция range. Например цикл от нуля, до десяти с шагом два:
for i in range(0, 10, 2):
       ...
Подробнее

Спасибо!

range(4)


Тоесть от 0 до 3 получается?
XPb14
Felixx
XPb14
Не совсем понял вопрос, но для цикла с шагом есть функция range. Например цикл от нуля, до десяти с шагом два:
for i in range(0, 10, 2):
       ...
Подробнее

Спасибо!

range(4)


Тоесть от 0 до 3 получается?

Да.
>>> range(4)
[0, 1, 2, 3]

Только тебе же вроде шаг нужен еще?
Felixx

Тоесть мой код на Java ошибочен получается..
Вот как щас:
 for(int i = 0; i <= CONFIG_MAX + 1; i++)

А надо либо так:
for(int i = 0; i <= CONFIG_MAX; i++)
Либо так:
for(int i = 0; i < CONFIG_MAX + 1; i++)

Я правельно понел?
XPb14
Напиши какой цикл тебе нужен. Что на входе и на выходе?
Felixx
Бр, Я переписываю с Питона на Java.
Вот весь метод..
Питон:
def SUB_COUNT(data):
    j=-1;k=0
    for i in range(CONFIG_MAX + 1):
        if data[i] == -1: k+=1
        if CID_LEVEL(data[i+2]) >= Math.min(2,CONFIG_CLASS_TRANSFER_LEVEL): j+=1
    if j==-1 and k <= CONFIG_MAX: return -2
    return j

Ява:
	private int SUB_COUNT(TIntArrayList data)
	{
		int j = -1, k = 0;
		for(int i = 0; i <= CONFIG_MAX + 1; i++)
		{
			if(data.get(i) == -1)
				k += 1;
			if(Integer.parseInt(CID_LEVEL(String.valueOf(data.get(i + 2)))) >= Math.min(2, CONFIG_CLASS_TRANSFER_LEVEL))
				j += 1;
		}
		if(j == -1 && k <= CONFIG_MAX)
			return -2;
		return j;
	}

Цикл у меня не правельный получился видимо…
Надо либо < только либо +1 убирать. Правельно же?
XPb14
По-моему все правильно написал.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB