Я думаю, что @csevier добавил разумное обсуждение вашего первого вопроса , но я не уверен, что на ваш вопрос ответили так же ясно, как вы, исходя из ваших комментариев, поэтому я собираюсь попробовать другойугол.
Допустим, вы сделали:
for x in range(10):
print(x)
Это вполне понятно - вы создали список [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
и по очереди вывели каждое из значений в этом списке.Теперь предположим, что мы хотели просто напечатать "hello"
10 раз;хорошо, мы могли бы изменить наш существующий код очень просто:
for x in range(10):
print(x)
print('hello')
Умм, но теперь x
портит наш вывод.Нет синтаксиса:
do this 10 times:
print('hello')
.Мы можем использовать цикл while
, но это означает определение дополнительного счетчика:
loop_count = 0
while loop_count < 10:
print('hello')
loop_count += 1
Это багаж.Таким образом, лучшим способом было бы просто использовать for x in range(10):
и просто не беспокоиться о print(x)
;Ценность заключается в том, чтобы заставить наш цикл работать, а не потому, что он действительно полезен любым другим способом.Это то же самое для j
(хотя я использовал x
в своих примерах, потому что я думаю, что вы с большей вероятностью столкнетесь с этим в уроках, но вы можете использовать практически любое имя, которое захотите).Кроме того, циклы while
обычно используются для циклов, которые могут выполняться бесконечно, а не для итерации по объекту с фиксированным размером: см. здесь .