2017-02-07 20 views
3

В Python, мы могли бы итерацию с использованием для цикла и пропустить индексы с помощью параметра skip как таковой:Есть ли параметр пропуска в диапазоне Юлии?

max_num, jump = 100, 10 
for i in range(0, max_num, jump): 
    print (i) 

я мог бы достичь того же с петлей в то время как, делая это:

max_num, jump = 100, 10 
i = 0 
while i < max_num 
    print(i) 
    i+=jump 
end 

А с использованием того же i+=jump синтаксис, показанный ниже в для цикла не пропускает индекс:

for i in range(0,max_num) 
    print(i) 
    i+=jump 
end 

Внутри цикла «пропуск» возможно? Если да, то как?

ответ

9

Вы можете просто сделать

max_num, step = 100, 10 

for i in 0:step:max_num 
    println(i) 
end 

Использование диапазона() , вы не укажете max_num, но нужное количество итераций. Таким образом, 0:step:max_num равно range(0, step, max_num/step).

1

Вы делаете это в своем первом snipppet (определите его в range). Кроме того, вы должны использовать modulo

for i in range(0,max_num): 
    if(i % jump != 0): 
     continue 
    print(i) 
+0

Используя модуль будет итерация через все 'max_num' циклов, проверка по модулю на каждой итерации, правильно? –

+0

@NatGillin - Правильно, предпочитает использовать диапазон – Sayse

+1

Спасибо @Sayse !! –

3

Синтаксис несколько отличается в Юлии.

Это range(start, [step,]length), например.

for i in range(0, 3, 10) 
    println(i) 
end 

[выход]:

0 
3 
6 
9 
12 
15 
18 
21 
24 
27 

Там еще один синтаксис start:step:max_num см ответ @Sayse «s для Detali

+0

А, это 'диапазон (начало, шаг, конец)'. –

1

start:jump:end

Пример:

a = 0:10:100 

Вы можете цикл с помощью этого:

for a in 0:10:100 
    println(a) 
end