Почему так? range(4)
создаёт числа от 0 до 3, и переменная i
по очереди принимает каждое из этих чисел. На каждом повторе цикла мы выводим значение i.
Аналогия: Представьте, что вы считаете конфеты в пакете: 1-я конфета, 2-я конфета, 3-я конфета. Переменная i
— это как номер конфеты, который меняется на каждом шаге. Только в жизни мы считаем с одного, а range(4)
по умолчанию будет считать с нуля и остановится перед тем числом, которое написано в скобках.