Повторите счетчик, когда индекс заканчивается - PullRequest
0 голосов
/ 03 мая 2018

Простой вопрос - я хочу цикл, который считает и возвращает 0, когда достигает определенного числа.

Попробовал что-то вроде:

while i < 7:
    i += 1
    if i == 7
        i -= 1   #(or change i in any other way - you get the idea)

Мой Python действительно разбился, когда я попробовал описанное выше.

РЕДАКТИРОВАТЬ: Да, условие if никогда не выполняется - оно все равно падает, когда я изменяю его на if i == 6.

Ответы [ 3 ]

0 голосов
/ 03 мая 2018
while i < 7:
      i += 1
      if i == 7:
         i = 0

Проблема в строке i- = 1. Ваш код работает, поскольку я считаю до 6, но когда он достигает 6, он увеличивается до 7, а затем снова вычитается до 6. Ваша текущая последовательность 0,1,2,3,4,5,6,6,6,6, ...

0 голосов
/ 03 мая 2018

Это ваш исправленный код,

i = 0
while i < 7:
    i += 1
    if i == 6:
           i = 0

Достигает 0 при достижении 6. Лот синтаксиса Исправлена ​​ошибка.

0 голосов
/ 03 мая 2018

Если вы хотите сосчитать до 7, то отсчитайте до 0 вот что вы можете попробовать:

i = 0
add = True
while True:
    if add:
        i += 1
    else:
        i -= 1

    if i in [0, 7]:
        add = not add
...