Задать вопрос
@robocop45

Причем здесь in()?

Решил задачу, далее решил посмотреть другие решения и увидел это

def validate_pin(pin):
    return len(pin) in (4, 6) and pin.isdigit()

Задача:
Банкоматы позволяют использовать 4- или 6-значные PIN-коды, а PIN-коды не могут содержать ничего, кроме ровно 4 или ровно 6 цифр.

Если функции передана допустимая строка PIN-кода, верните true, иначе верните false.


Оператор in- это оператор принадлежности, проверяет значение в последовательности
немного не понял зачем он тут. вернее с логической точки зрения понятно, что он проверяет 4 или 6 символов, но почему именно он используется?
  • Вопрос задан
  • 124 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Решения вопроса 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
Потому-что так банально компактнее при том-же результате.
Даже в случае с двумя значениями требуется конструкция вида (просто сравните ее с приведенным кодом):
len(pin) == 4 or len(pin) == 6
А представьте, что требуется подобным образом проверить пять/шесть значений. Или требуется проверить произвольное количество значений.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽