• 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 5. While cycle

Dificultad:

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

Tarea«Verificar el palíndromo»

💻 Python

Eres un especialista en ciberseguridad, y tu objetivo es conectarte al servidor secreto "Centaur". El protocolo de conexión es inusual: el servidor te envía una línea de llamada, y debes enviar inmediatamente como respuesta la contraseña correcta. Si la respuesta es incorrecta, la conexión se interrumpe de inmediato.

La regla de respuesta es la siguiente: es necesario extraer todos los números y todas las letras latinas de la línea, ignorando el resto de los caracteres. Luego debes formar una nueva línea, donde primero vayan todos los números extraídos (manteniendo su orden original), y luego todas las letras extraídas (también preservando su orden).

Tu programa debe leer las líneas de llamada hasta que reciba el comando session_end. No es necesario responder a este comando, el programa simplemente debe finalizar su ejecución.

Formato de entrada

La entrada se suministra a la secuencia de líneas, cada una en una nueva línea. Cada línea & mdash; Esta es otra llamada del servidor. La última línea siempre será & nbsp; session_end .

Formato de salida

Para cada línea de Zavzov (excepto & nbsp; session_end ), es necesario eliminar la contraseña generada en una línea separada.

Ejemplo

Entrada

alpha123bravo
indicativo: 9-x-ray-8
--20-Victor-24--
Fin_de_sesión

Salida

123LPHABRAVO
98Callsignxray
2024victor

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
# Бесконечный цикл, который будет прерван изнутри
while True:
    # Читаем очередную строку-вызов от сервера
    challenge_string = input()

    # Проверяем условие выхода из цикла
    if challenge_string == "SESSION_END":
        break  # Завершаем цикл и программу

    # Создаем две пустые строки для сбора цифр и букв
    digits_part = ""
    letters_part = ""

    # Перебираем каждый символ в полученной строке-вызове
    for char in challenge_string:
        # Если символ является цифрой, добавляем его в строку для цифр
        if char.isdigit():
            digits_part += char
        # Иначе, если символ является буквой, добавляем его в строку для букв
        elif char.isalpha():
            letters_part += char
        # Все остальные символы (пробелы, знаки препинания и т.д.) игнорируются

    # Соединяем две части, чтобы получить финальный пароль-отклик
    response_password = digits_part + letters_part

    # Выводим результат
    print(response_password)

🎉 ¡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.