Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Практическая работа по "Информатике"

Автор:   •  Февраль 12, 2024  •  Практическая работа  •  1,092 Слов (5 Страниц)  •  37 Просмотры

Страница 1 из 5

Практическая работа 3 .

  1. Реализовать проверку сложности введенного пароля. На каждой итерации выводить результат оценки и продолжать попытки, пока требуемая сложность пароля не будет достигнута.

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)  # Выводим массив по строкам

...

Скачать:   txt (8.4 Kb)   pdf (60.4 Kb)   docx (10 Kb)  
Продолжить читать еще 4 страниц(ы) »
Доступно только на Essays.club