Чтобы узнать, почему это не работает, вам нужно знать тот факт, что return
останавливает for
l oop или любой тип l oop.
Итак, в вашем первом случае возврат остановится на первой итерации, которая i = 0, и вернет 0: 0.
Во втором случае вы сохраняете свои значения в переменной value
и, делая это, когда вы возвращаете значение, вы возвращаете весь набор, который прошел для l oop, который составляет от 0 до 10.