def print_nums(x):
for i in range(x): # Loop starts. In first iteration of loop, i = 0
print(i) # Prints 0, since i = 0
return # The function execution stops here and it exits
print_nums(10)
Приведенный выше код будет запускаться и останавливаться только на первой итерации l oop. Это связано с тем, что return приведет к прямому выходу из функции, и поэтому выполнение функции остановится на этом.
Вы, вероятно, намеревались использовать функцию следующим образом -
def print_nums(x):
for i in range(x):
print(i)
return
print_nums(10)
Вывод:
0
1
2
3
4
5
6
7
8
9
В приведенном выше случае возврат не требуется. либо если он не возвращает то, что вы используете. В любом случае я не понимаю, как вы ожидаете, что на выходе будет 9. Вышеупомянутая функция напечатает все числа из 0 to x-1
.
Если вы ищете l oop из 0 to x-1
и, наконец, печатаете x-1, вы можете сделать это так -
def print_nums(x):
i = 0
for i in range(x):
# Some work done here
pass
print(i) # Prints x-1 and returns from the function
return
print_nums(10)
Вывод:
9
Надеюсь, это поможет!