for n in range(3,10):
for m in range (3,n):
if n%m==0:
print(n, "not prime")
break
else:
print(n,"prime")
выход: -
(3, 'prime')
(4, 'prime')
(5, 'prime')
(6, 'not prime')
(7, 'prime')
(8, 'not prime')
(9, 'not prime')
здесь break
сломать внутренний цикл и выполнить еще заявление. в то время как во 2-м
for n in range(3,10):
for m in range (3,n):
if n%m==0:
print(n, "not prime")
else :
print(n,"prime")
поток вывода: -
(4, 'prime')
(5, 'prime')
(5, 'prime')
(6, 'not prime')
(6, 'prime')
(6, 'prime')
(7, 'prime')
(7, 'prime')
(7, 'prime')
(7, 'prime')
(8, 'prime')
(8, 'not prime')
(8, 'prime')
(8, 'prime')
(8, 'prime')
(9, 'not prime')
(9, 'prime')
(9, 'prime')
(9, 'prime')
(9, 'prime')
(9, 'prime')
она продолжается во внутреннем цикле. проверить это для for else
статей.
Просьба рассмотреть отступы, неясно, что вы имеете в виду. – bereal
Оператор 'break' фактически вырывается из самого маленького замкнутого цикла' for' или 'while'. –
Возможный дубликат [Почему python использует «else» после циклов while и while?] (Http://stackoverflow.com/questions/9979970/why-does-python-use-else-after-for-and-while- петли) – KillianDS