Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 20, 2011 08:29:28

pyhappy
От: Moscow/Russia
Зарегистрирован: 2011-11-13
Сообщения: 22
Репутация: +  0  -
Профиль  

Вопросы по кодам в курсе Lynda - Python 3 Essential Training

Всем привет!
Изучаю питон по курсы Линды (Lynda - Python 3 Essential Training), мне очень нравится, произношение очень четкое , курс хорошо структурирован. В общем , кто знает английский, - imho - отличный курс для начинающих.

Однако, иногда возникают некоторые вопросы, которые буду писать здесь.

Офлайн

#2 Ноя. 20, 2011 08:35:00

pyhappy
От: Moscow/Russia
Зарегистрирован: 2011-11-13
Сообщения: 22
Репутация: +  0  -
Профиль  

Вопросы по кодам в курсе Lynda - Python 3 Essential Training

Вопрос по уроку 0204 Reusing code with a function.mov
Данный код определяет какие числа являются простыми

1) Почему else находится на одном уровне с For, ведь по сути он может находиться только на уровне с IF который является более главным
2) Какой смысл здесь несет else, тк он из For и верхнего If у нас выход по False. (я проверил без else код полностью рабочий)

#!/usr/bin/python3

def isprime(n):
if n == 1:
print("1 is special")
return False
for x in range(2, n):
if n % x == 0:
print("{} equals {} x {}".format(n, x, n // x))
return False
else:
print(n, "is a prime number")
return True

for n in range(1, 20):
isprime(n)

Офлайн

#3 Ноя. 20, 2011 09:00:04

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Вопросы по кодам в курсе Lynda - Python 3 Essential Training

Офлайн

#4 Ноя. 20, 2011 09:44:32

pyhappy
От: Moscow/Russia
Зарегистрирован: 2011-11-13
Сообщения: 22
Репутация: +  0  -
Профиль  

Вопросы по кодам в курсе Lynda - Python 3 Essential Training

Андрей Светлов
http://docs.python.org/py3k/reference/compound_stmts.html#the-for-statement
Спасибо, если я правильно понял - else будет выполняться в случае если мы перебрали всю последовательность в цикле For и при этом не вышли из цикла. Но в данном примере из цикла в любом случае выходим через return.

Я сравнил результаты данного кода с else и без него - абсолютно одинаковые. Правильно ли я понимаю, что в данном конкретном случае - else не обязателен ?

Офлайн

#5 Ноя. 20, 2011 11:38:37

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Вопросы по кодам в курсе Lynda - Python 3 Essential Training

В данном конкретном можно и обойтись без else.
Но вариант Линды мне кажется чуть более понятным.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version