Вы создали бесконечный цикл while
. Условие для цикла в то время как это:
while values[-i] <= 100:
Для того, чтобы этот цикл на каждый конец, в конце концов values[-i] <= 100
необходимо оценить в False
. Тем не менее, i
в вашем случае никогда не будет иметь шансов на изменение, потому что цикл while
должен закончить цикл for
, чтобы продолжить. Для того, чтобы сделать его немного более ясно, что происходит, следует соблюдать следующие правила:
In [8]: for i in ['a', 'b', 'c']:
...: print(i)
...: j = 0
...: while j < 5:
...: print(j)
...: j += 1
a
0
1
2
3
4
b
0
1
2
3
4
c
0
1
2
3
4
Другими словами, цикл получает значения 'a'
, то цикл, а заканчивает собирается хотя 0-4, и только тогда внешняя петля доходит до 'b'
и так далее. Ради вас, я не хочу решать ваше домашнее задание для вас. Я скажу, однако, что в отношении вашего текущего кода вам нужно будет найти способ сделать ваше состояние while
в конечном итоге False
, не полагаясь на изменение значений, создаваемых внешним циклом.
, пожалуйста, прочитайте [ask], правильно отформатируйте свой вопрос, если хотите «halp» ... – Julien
Если я ошибаюсь, ваш цикл while никогда не закончится, если вы не перейдете в список с окончательным значением> 100 – elethan
добавьте что-то вроде i + = 1 в цикле while, так что значение i увеличивается другим образом, цикл бесконечен – thebadguy