Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 20, 2010 17:39:38

I159
От:
Зарегистрирован: 2010-12-09
Сообщения: 85
Репутация: +  0  -
Профиль   Отправить e-mail  

while и if

Пример из учебника:

found = False
while x and not found:
if match(x[0]):
print 'Ni'
found = True
else:
x = x[1:]
if not found: #в этой части 'if' не работает
print 'not found'
Дело в том что учебник по 2.5, а у меня стоит 2.7. Подскажите пожалуйста, почему не срабатывает if в данной конструкции? Тут принципиальная ошибка или дело в версии Py?
Благодарю.



Офлайн

#2 Дек. 20, 2010 17:47:06

python4ik
От:
Зарегистрирован: 2010-01-05
Сообщения: 251
Репутация: +  0  -
Профиль   Отправить e-mail  

while и if

После выхода из цикла found = True. А not found он же not True - это уже False
Раз Лож, потому и не показывает!



Отредактировано (Апрель 2, 2011 22:02:35)

Офлайн

#3 Дек. 20, 2010 17:48:43

Soteric
От:
Зарегистрирован: 2010-09-19
Сообщения: 352
Репутация: +  20  -
Профиль   Отправить e-mail  

while и if

Судя по коду, единственный выход из цикла возможен когда found будет присвоено True. Соответственно при этом последнее условие не может быть выполнено.



Офлайн

#4 Дек. 20, 2010 18:21:58

vaxXxa
От: Kyiv, Ukraine
Зарегистрирован: 2009-06-16
Сообщения: 278
Репутация: +  0  -
Профиль   Отправить e-mail  

while и if

Судя по коду, не ясно, что такое переменная x.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version