🎉 恭喜! 🎉
你出色地完成了任务!这是一个不小的挑战,但你找到了正确答案。你离编程大师又近了一步!继续保持,每一步都让你更强大。
你——是阿尔法秘密组织的精英间谍。你截获了敌人的信息,但它是加密的。你的联络人交给你了创建解密密钥的规则。为了让密钥被系统接受,它必须同时满足三个严格的标准:
key123 符合要求,而 Hellow1 ——不符合,因为符号 l 重复了。 a 到 z,从 A 到 Z)。 0 到 9)。 — 编写一个程序,检查提供的字符串并判断它们是否为有效密钥。如果该字符串满足所有三条规则,系统必须输出消息"Access permitted"。否则——"Access denied"。
用于检查的潜在密钥(行,字符串)。
密钥(字符串)检查结果:"允许访问" 或 "禁止访问"。
agentcode9
访问已允许
# Получаем строку от пользователя, которая является потенциальным ключом.
secret_key = input()
# Создаем флаги (логические переменные), чтобы отслеживать наличие букв и цифр.
# Изначально мы предполагаем, что их нет.
has_letter = False # Флаг, который покажет, есть ли в строке буква.
has_digit = False # Флаг, который покажет, есть ли в строке цифра.
has_rep = True # Флаг, который покажет был ли повтор символа
# Проверяем уникальность символов.
# Самый простой способ - сравнить длину исходной строки с длиной множества (set) из её символов.
# Множество автоматически удаляет все дубликаты.
# Если длины равны, значит, все символы были уникальны.
is_unique = len(secret_key) == len(set(secret_key))
# Запускаем цикл, который перебирает каждый символ в полученной строке.
for char in secret_key:
# Проверяем, является ли текущий символ буквой.
if char.isalpha():
has_letter = True # Если да, поднимаем флаг "есть буква".
# Проверяем, является ли текущий символ цифрой.
if char.isdigit():
has_digit = True # Если да, поднимаем флаг "есть цифра".
if secret_key.count(char) > 1:
has_rep = False
# После проверки всей строки, выносим окончательное решение.
# Условие сработает, только если все три переменных (is_unique, has_letter, has_digit) истинны (True).
if is_unique and has_letter and has_digit and has_rep:
# Если все условия выполнены, выводим сообщение об успехе.
print("Доступ разрешен")
else:
# Если хотя бы одно условие не выполнено, выводим сообщение об отказе.
print("Доступ запрещен")
🎉 恭喜! 🎉
你出色地完成了任务!这是一个不小的挑战,但你找到了正确答案。你离编程大师又近了一步!继续保持,每一步都让你更强大。
AD
广告
正在运行代码...