Найти - Пользователи
Полная версия: Подскажите, что за логическое выражение
Начало » Python для новичков » Подскажите, что за логическое выражение
1
rodion1010
Решал задачки по Питону.

Мой код:

    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) ” и как оно работает (где почитать)?
old_monty
Почитать можно в официальной документации:
http://docs.python.org/3.6/tutorial/.

Или можно ввести в командной строке интерпретатора Python
 >>>help()
Появится приглашение встроенной справочной системы:
 help>
Вводите интересующий вас оператор, в данном случае in, и получаете справку тут же, не выходя из консоли. Это очень удобно.
py.user.next
rodion1010
Подскажите, пожалуйста, что за выражение “ month in (12, 1, 2) ” и как оно работает (где почитать)?
Поиск элемента в кортеже элементов
  
>>> 2 in (1, 2, 3)
True
>>> 4 in (1, 2, 3)
False
>>>
scidam
А еще работу `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...
rodion1010
Спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB