Н.В.М. Я здесь супер неправильно
Прежде всего, когда вы определяете функцию в Python, любой код, принадлежащий этой функции, должен находиться в том же блоке отступа. Имея это в виду, ваш код будет выглядеть так:
def break_return():
while True:
for i in range(5):
if i < 2:
print(i)
if i == 3:
break
else:
print('i = ', i)
return 343
break_return()
Следующая проблема, которую я вижу, состоит в том, что ваш оператор else
неправильно отформатирован с оператором if
. Если вы хотите, чтобы он выполнял 2-й оператор if
, ваш код будет выглядеть следующим образом:
def break_return():
while True:
for i in range(5):
if i < 2:
print(i)
if i == 3:
break
else:
print('i = ', i)
return 343
break_return()
Это только форматирование. Но в этом примере код будет выполняться только один раз, потому что он сразу же возвращает функцию и выходит из нее.
Я думаю, что это может быть лучшим примером использования break
и return
:
def break_return(value):
for i in range(5):
print(i)
if i == 3:
break #This exits the for loop
if i == 4:
print("This won't print!")
#Won't print because the loop "breaks" before i ever becomes 4
return value * 2 #Returns the input value x 2
print(break_return(30)) #Display the return value of break_return()
Это демонстрирует, как break
выходит из цикла for
и как return
может возвращать значение из функции.
Вывод кода выше:
0 #Value of i
1 #Value of i
2 #Value of i
3 #Value of i
60 #The value returned by the function
Рад слышать, что вы изучаете Python! Это очень весело и очень полезно.