kochevnick48
получается , что found_one - переменная которая сигнализирует о том что в списке что-то найдено ?
1. На данном форуме необходимо код обертывать в теги, как Вам справедливо уже указал модератор.
2. Да, found_one - это переменная логического типа, принимающая одно из двух возможных значений (False/True). Смотрим еще раз внимательно на Ваш пример из книги:
cheeses = []
found_one = False
for cheese in cheeses:
found_one = True
print('This shop has some lovely', cheese)
break
if not found_one:
print('This is not much of a cheese shop, is it?')
Запускаем и получаем:
>>>This is not much of a cheese shop, is it?
Это говорит о том, что переменная found_one осталась равной False, хоть ей и было присвоено True в цикле. Но в цикле for вообще никакие действия не выполнялись, в том числе и found_one = True. А не выполнялись они потому, что ни одного сыра (cheese) в пустом списке cheeses не было найдено.
Этим примером автор книги показывает, что будет, если попробовать отказаться от else в цикле for. Как видим, можно обойтись и без else, но тогда придется создавать дополнительную логическую переменную (found_one) и отдельно проверять ее по условию. К тому же эта переменная глобальная, а глобальных переменных в программах следует по возможности избегать. Они являются источником уязвимости, ошибок, и вообще это плохой стиль программирования.