2012-03-16 2 views
1

Недавно я пытался изучить python.looping with while statement

Одна вещь, которую я видел учебники сделать, это создать петли, сделав некоторое время заявление с переменной, которая идет вверх в конце каждого оператора

пример:

loop_end = 0 
while loop_end <= 5: 
    <do program> 
    loop_end = loop_end + 1 

Это чувствует себя странно, и бит уродливый. Есть ли другой способ достичь этого эффекта?

+0

'loop_end + = 1', если вам все еще нужен цикл while. – lllluuukke

+0

Укажите ссылки для этих учебных пособий, пожалуйста? Некоторым авторам, возможно, потребуется связаться ... –

ответ

1

Вы хотите функцию range. Вот петля, которая печатает 0-2:

for x in range(0,3): 
    print '%d' % (x) 

Проверьте here.

Диапазон является исключительным, поэтому значение справа никогда не будет выполнено.

Вы также можете указать, как диапазон итерации. Например, если задать приращение 2 каждого цикла:

for x in range (0, 8, 2) 
    print x 

поможет вам

0 
2 
4 
6 

как выход.

0
for loop_end in range(6): 
    <do program> 

Объяснение:

Python имеет концепцию iterators. Различные объекты могут решить, как выполнить повторение. Если вы перебираете строку, она будет итерации для каждого символа. Если вы перебираете список (т. Е. Массив), он будет перебирать каждый элемент в списке.

Встроенная функция range создает список. диапазон (6) генерирует список [0,1,2,3,4,5] (что эквивалентно while loop_end <= 5).

(В Python 3, range() возвращает генератор вместо списка, но вам не нужно это знать;)).