Практическая работа по "Информатике"
Автор: copatel3 • Февраль 12, 2024 • Практическая работа • 1,092 Слов (5 Страниц) • 84 Просмотры
Практическая работа 3 .
- Реализовать проверку сложности введенного пароля. На каждой итерации выводить результат оценки и продолжать попытки, пока требуемая сложность пароля не будет достигнута.
import re
def check_password_complexity(password): # Функция для проверки сложности пароля
if len(password) < 8:
return "Пароль слишком короткий. Минимальная длина пароля - 8 символов." # Проверка длины пароля
if not re.search(r'[A-Z]', password):
return "Пароль должен содержать хотя бы одну заглавную букву." # Проверка наличия хотя бы одной заглавной буквы
if not re.search(r'[a-z]', password):
return "Пароль должен содержать хотя бы одну строчную букву." # Проверка наличия хотя бы одной строчной буквы
if not re.search(r'\d', password):
return "Пароль должен содержать хотя бы одну цифру." # Проверка наличия хотя бы одной цифры
if not re.search(r'[!@#$%^&*()-=_+]', password):
return "Пароль должен содержать хотя бы один специальный символ: !@#$%^&*()-=_+" # Проверка наличия хотя бы одного специального символа
return "Пароль достаточно сложный." # Если все проверки прошли успешно, пароль считается достаточно сложным
password = input("Введите пароль: ") # Запрос пароля у пользователя
while True:
result = check_password_complexity(password)
print(result) # Проверка сложности пароля
# Если пароль достаточно сложный, завершаем цикл
if result == "Пароль достаточно сложный.":
break
# Если пароль не достаточно сложный, запрашиваем новый пароль
password = input("Введите новый пароль: ")
2. Реализовать генерацию двумерного массива произвольной формы и вывод по одной из траекторий (выбор осуществляет пользователь):
а) по строкам
б) по столбцам
в) ленточно (по главной диагонали)
г) блоками (размеры блоков выбирать автоматически)
import numpy as np # Импорт библиотеки NumPy для работы с масс
def gen_array(rows, cols):
return np.random.randint(1, 100, size=(rows, cols)) # Генерация двумерного массива случайных чисел от 1 до 100
def print_array(array):
for row in array: # Цикл для строки масс
print(" ".join(map(str, row))) # Выводим каждую строку массива
def main(): # Опр основн
rows = int(input("Введите колво строк: ")) # Запрос у юзера колво строк
cols = int(input("Введите колво столбцов: ")) # Запрос у юзера колво столбцов
array = gen_array(rows, cols) # Ген двумерный массив
print("Выберите траекторию вывода:")
print("а) По строкам")
print("б) По столбцам")
print("в) Ленточно (по главной диагонали)")
print("г) Блоками (размеры блоков выбираются автоматически)")
choice = input("Введите букву (а/б/в/г): ") # Запрос выбор юзера
if choice == "а": # Если выбор а
print_array(array) # Выводим массив по строкам
...