Задача Задача №2406816
А
А
Вот код на Python, который реализует описанный вами алгоритм генерации паролей:
def generate_password(number: int) -> str:
# Проверка, что число семизначное
if number < 1000000 or number > 9999999:
raise ValueError("Введите семизначное натуральное число.")
# Преобразуем число в строку для удобства обработки
str_number = str(number)
# 1. В конец дописываем первую цифру
extended_number = str_number + str_number[0]
# 2. Цифры в числе записываются в обратном порядке
reversed_number = extended_number[::-1]
# 3. Замена цифр по заданной таблице
replacement_table = {
'1': 'I',
'2': 'Z',
'3': 'E',
'4': '!',
'5': 'S',
'6': 'b',
'7': 'T',
'8': 'B',
'9': 'g',
'0': 'O' # добавлено для нуля, хотя в 7-значном числе может не быть
}
# Создаем новую строку с замененными символами
password = ''.join(replacement_table.get(char, char) for char in reversed_number)
return password
# Пример использования
if __name__ == "__main__":
number = int(input("Введите семизначное натуральное число: "))
try:
password = generate_password(number)
print("Сгенерированный пароль:", password)
except ValueError as e:
print(e)
Как работает код:
- Проверяет, что введенное число семизначное.
- Дописывает первую цифру введенного числа в конец строки.
- Переворачивает строку.
- Заменяет цифры на соответствующие им символы согласно таблице.
- Выводит сгенерированный пароль.
Вы можете скопировать и вставить этот код в свой Python интерпретатор или специальную среду разработки, чтобы протестировать его.