@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 символов, но почему именно он используется?
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
Потому-что так банально компактнее при том-же результате.
Даже в случае с двумя значениями требуется конструкция вида (просто сравните ее с приведенным кодом):
len(pin) == 4 or len(pin) == 6
А представьте, что требуется подобным образом проверить пять/шесть значений. Или требуется проверить произвольное количество значений.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час