Простой вопрос - я хочу цикл, который считает и возвращает 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.
if
if i == 6
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, ...
Это ваш исправленный код,
i = 0 while i < 7: i += 1 if i == 6: i = 0
Достигает 0 при достижении 6. Лот синтаксиса Исправлена ошибка.
Если вы хотите сосчитать до 7, то отсчитайте до 0 вот что вы можете попробовать:
i = 0 add = True while True: if add: i += 1 else: i -= 1 if i in [0, 7]: add = not add