• 1
    Entrada y salida de datos
    • Tareas
  • 2
    Condiciones
    • Tareas
  • 3
    Bucle for
    • Tareas
  • 4
    Cadenas de texto
    • Tareas
  • 5
    Bucle while
    • Tareas
  • 6
    Listas
    • Tareas
  • 7
    Matrices 2D
    • Tareas
  • 8
    Diccionarios
    • Tareas
  • 9
    Conjuntos
    • Tareas
  • 10
    Funciones y recursión
    • Tareas
  • к

Lección 2. Conditions

Dificultad:

иконка человека красный иконка человека белая иконка человека зеленая Pythonlib

Tarea«Mensaje súper secreto»

💻 Python

& nbsp; Eres & mdash; un espía de élite que trabaja para la organización secreta Alpha. Has interceptado un mensaje del enemigo, pero está encriptado. Tu enlace te ha entregado las reglas mediante las cuales se crean las claves para el descifrado. Para que la clave sea aceptada por el sistema, debe cumplir tres criterios estrictos al mismo tiempo:

  1. Unicidad: & nbsp; todos los símbolos de la clave deben ser únicos. Por ejemplo, & nbsp; key123 & nbsp; es válida, mientras que & nbsp; Hellow1 & nbsp; & mdash; no, ya que el símbolo & nbsp; l & nbsp; se repite.
  2. Presencia de letras: & nbsp; debe haber al menos una letra de cualquier registro en la clave (de & nbsp; a & nbsp; a & nbsp; z , de & nbsp; A & nbsp; a & nbsp; Z ).
  3. Presencia de números: & nbsp; debe haber al menos un dígito en la clave (de & nbsp; 0 & nbsp; a & nbsp; 9 ).

& mdash; Escribe un programa que verifique las líneas propuestas y determine si son claves válidas. Si la línea cumple con las tres reglas, el sistema debe emitir el mensaje "Acceso permitido". De lo contrario & mdash; "Acceso denegado".

Formato de entrada

Una clave potencial para verificar (línea, cadena).

Formato de salida

El resultado de verificar la clave (línea, str): "acceso permitido" o "acceso denegado".

Ejemplo

Entrada

agentcode9

Salida

Acceso permitido

Pista

There will be no clue here, decide for yourself!

main.py
Prueba 1
Prueba 2
Prueba 3
Prueba 4
Prueba 5
Prueba 6
Prueba 7
Prueba 8
Prueba 9
Prueba 10
Solución del desarrollador
# Получаем строку от пользователя, которая является потенциальным ключом.
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("Доступ запрещен")

🎉 ¡Felicidades! 🎉

¡Has resuelto la tarea brillantemente! Era un reto difícil, pero encontraste la solución correcta. ¡Estás un paso más cerca de dominar la programación! Sigue así, cada etapa superada te hace más fuerte.

AD

Publicidad

red-snake blue-snake green-snake

Ejecutando tu código...

Asistente de IA

¡Hola! Soy tu asistente de programación. Hazme cualquier pregunta sobre Python — puedo explicarte funciones, métodos y ayudarte con la tarea actual.