Не могу понять ,как все условия добавить
Напишите функцию is_valid_pin_codes, которая будет принимать в качестве параметра список этих пин-кодов — строка из четырех цифр, и возвращать логическое значение — валидный список или нет. Убедитесь в том, что среди этих пин-кодов в списке не будет дубликатов, все они хранятся в виде строк, их длина равна 4 символам и содержат они только цифры.
Пример аргумента для функции is_valid_pin_codes:
['1101', '9034', '0011'] Если список удовлетворяет всем поставленным условиям, функция возвращает логическое значение True. Если хоть одно из условий нарушено, возвращаемое значение — False. Предусмотреть проверку на пустой список в аргументе функции и вернуть False. Вот мой код:
def is_valid_pin_codes(pin_codes):
for x in pin_codes:
if pin_codes.count(x) < 1 and len(x) == 4 and pin_codes.isnumeric():
return True
else:
return False
Ответы (1 шт):
Ваша идея была верной. Исполнение должно быть улучшено.
проверка счета - на равенство.
проверка типа - на строку.
выход с
Falseпри пустой строке или первом же несовпадении и нормальное завершение сTrue.
def is_valid_pin_codes(pin_codes):
if not len (pin_codes):
return False
for x in pin_codes:
if not (pin_codes.count(x) == 1 and type(x) == str and len(x) == 4):
return False
return True