• 1
    Entrada e saída
    • Tarefas
  • 2
    Condições
    • Tarefas
  • 3
    Loop for
    • Tarefas
  • 4
    Strings
    • Tarefas
  • 5
    Loop while
    • Tarefas
  • 6
    Listas
    • Tarefas
  • 7
    Matrizes 2D
    • Tarefas
  • 8
    Dicionários
    • Tarefas
  • 9
    Conjuntos
    • Tarefas
  • 10
    Funções e recursão
    • Tarefas
  • к

Lição 5. While cycle

Dificuldade:

Tarefa«Verificar o palíndromo»

💻 Python

Você & mdash; um especialista em cibersegurança, e seu objetivo & mdash; Conectar-se ao servidor secreto "Centaur". O protocolo de conexão é incomum: o servidor envia uma linha de chamada, e você deve enviar imediatamente a senha-resposta correta. Se a resposta estiver incorreta, a conexão é imediatamente interrompida.

A regra de resposta é a seguinte: é necessário extrair todos os números e todas as letras latinas da linha, ignorando os demais caracteres. Em seguida, você precisa criar uma nova linha, onde vão todos os números extraídos (mantendo sua ordem inicial), e depois & mdash; todas as letras extraídas (também preservando sua ordem).

Seu programa deve ler as linhas de chamada até receber o comando   session_end. Não é necessário responder a este comando, o programa deve simplesmente encerrar seu trabalho.

Formato de entrada

A entrada é fornecida como uma sequência de linhas, cada uma em uma nova linha. Cada linha & mdash; Esta é mais uma chamada do servidor. A última linha será sempre & nbsp; session_end .

Formato de saída

Para cada linha-Zavzov (exceto para & nbsp; session_end ), é necessário remover a senha-gerada em uma linha separada.

Exemplo

Entrada

alpha123bravo
indicativo: 9-x-ray-8
--20-Victor-24--
Fim_da_sessão

Saída

123LPHABRAVO
98Callsignxray
2024victor

Dica

There will be no clue here, decide for yourself!

main.py
Teste 1
Teste 2
Teste 3
Teste 4
Teste 5
Teste 6
Teste 7
Teste 8
Teste 9
Teste 10
Solução do desenvolvedor
# Бесконечный цикл, который будет прерван изнутри
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)

🎉 Parabéns! 🎉

Você resolveu a tarefa brilhantemente! Foi difícil, mas você encontrou a solução certa. Você está um passo mais perto de dominar a programação! Continue assim.

AD

Publicidade

red-snake blue-snake green-snake

Executando seu código...

Assistente de IA

Olá! Sou seu assistente de programação. Faça qualquer pergunta sobre Python — posso explicar funções, métodos e ajudá-lo com a tarefa atual!