Def validate_password(password): Функция принимает пароль строкой
и выполняет валидацию с трёх.
вс функций:
1. Содержит только a-z, A-Z, 0-9
2. Содержит четное количество
букв
3. Содержит нечетное количество
цифр
Основная функция возвращает True,
если пароль валидный.
Если пароль не валидный,
возвращает лист стрингов, в которых
перечислены
причины неуспешной проверки.
Например: ["содержит запрещенные
символы"]
pass
123
233
Ответы на вопрос:
Итак, для чего же нужны директивы препроцессора? заголовочные файлы включаются в текст программы с директивы препроцессора #include. программа, которая обрабатывает эти директивы, называется препроцессором. имя файла может быть указано двумя способами: #include < some_file.h> или #include "my_file.h". если имя файла заключено в угловые скобки (< > ), считается, что нам нужен некий стандартный заголовочный файл, и компилятор ищет этот файл в предопределенных местах. двойные кавычки означают, что заголовочный файл - пользовательский, и его поиск начинается с того каталога, где находится исходный текст программы. при этом обычно имя файла который заключен в ( < > ) это стандартные библиотеки самого языка или же внешние, путь к котором нужно прописывать в настройках проекта, тот же пример #include < siostream> . в *.h файлах определяются типы, классы, прототипы функций, объявляются переменные (что они где-то есть), кода в *.h файлах нет за исключением inline функций (т.к. при компиляции каждый cpp файл видит только подключённые к нему *.h, поэтому тела inline функций берутся из них). затем происходит сборка. если сборка обнаружит совпадения имён или использование только объявленных (но не существующих) переменных - возникают ошибки сборки. для стандартных *.h файлов существуют скомпилированные объектные файлы, поэтому им cpp не требуется, т.к. всё нужное они черпают оттуда. добавка: назначение *.h файла простое - разделение кода программы на несколько файлов. структура разделения такова: создаем test.h файл в котором будет определятся класс и его методы, затем создается test.сpp и там уже инициализируем методы класса. вообще разницы нету, в *.h файле я могу определить любую функцию , а затем подключив в main.cpp через #include < *.h> смог бы ее вызвать, также как и если б она была в самом файле main.cpp, но семантически это не верно и так делать не надо.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
leshchenko123428.04.2021 08:11
-
Mei2909.09.2021 12:52
-
никуля4023.07.2020 05:55
-
utochkins0418.04.2022 12:57
-
cvetlana15a07.06.2022 14:51
-
teoat04.05.2020 20:30
-
zb200408.10.2021 22:24
-
dima035488824.09.2021 05:20
-
freddylolbrO04.05.2021 15:58
-
Torior17.08.2022 08:18
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.