Уведомления

Группа в Telegram: @pythonsu

#1 Март 28, 2017 07:12:46

rodion1010
Зарегистрирован: 2017-03-28
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите, что за логическое выражение

Решал задачки по Питону.

Мой код:

    def season(s):
    if s == 12 or s == 1 or s == 2:
        return 'зима'
    elif s == 3 or s == 4 or s == 5:
        return 'весна'
    elif s == 6 or s == 7 or s == 8:
        return 'лето'
    elif s == 9 or s == 10 or s == 11:
        return  'осень'
    else:
        return 'ошибка'

Код решения из учебника:

 def season(month):
    if month in (12, 1, 2):
        return "зима"
    elif month in (3, 4, 5):
        return "весна"
    elif month in (6, 7, 8):
        return "лето"
    elif month in (9, 10, 11):
        return "осень"

Подскажите, пожалуйста, что за выражение “ month in (12, 1, 2) ” и как оно работает (где почитать)?

Офлайн

#2 Март 28, 2017 08:45:32

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

Подскажите, что за логическое выражение

Почитать можно в официальной документации:
http://docs.python.org/3.6/tutorial/.

Или можно ввести в командной строке интерпретатора Python

 >>>help()
Появится приглашение встроенной справочной системы:
 help>
Вводите интересующий вас оператор, в данном случае in, и получаете справку тут же, не выходя из консоли. Это очень удобно.

Офлайн

#3 Март 28, 2017 16:21:23

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9999
Репутация: +  857  -
Профиль   Отправить e-mail  

Подскажите, что за логическое выражение

rodion1010
Подскажите, пожалуйста, что за выражение “ month in (12, 1, 2) ” и как оно работает (где почитать)?
Поиск элемента в кортеже элементов
  
>>> 2 in (1, 2, 3)
True
>>> 4 in (1, 2, 3)
False
>>>



Офлайн

#4 Март 29, 2017 05:19:17

scidam
Зарегистрирован: 2016-06-15
Сообщения: 288
Репутация: +  35  -
Профиль   Отправить e-mail  

Подскажите, что за логическое выражение

А еще работу `in` можно переопределить (например, если мы работаем с окружностями, и нам нужно проверить содержит ли один круг другой… ):

 >>> class IContainEverything:
...      def __contains__(self, what):
...          print("I contain %s too..." % what)
...          return True
>>> storage = IContainEverything()
>>> 1 in storage
I contain 1 too...
True
>>> 'bochka' in storage
I contain bochka too...

Отредактировано scidam (Март 29, 2017 05:20:15)

Офлайн

#5 Март 29, 2017 05:25:13

rodion1010
Зарегистрирован: 2017-03-28
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите, что за логическое выражение

Спасибо!

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version