• 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 3. FOR cycle

Dificuldade:

Tarefa«Ordem das palavras»

💻 Python

Você & mdash; Programador no centro de controle de voo. Do nosso novo Mars rover Kuriositi-2, uma mensagem importante chegou sobre o estado de seus sistemas. Infelizmente, devido a uma erupção solar, a ordem das palavras na mensagem foi quebrada. Os engenheiros, antecipando essa situação, inseriram em cada palavra um número de 1 a 9, que indica a posição correta da palavra na frase. Sua tarefa & mdash; Escrever um programa que restaurará a ordem inicial das palavras e decifrará a mensagem.

Tarefa técnica:
Uma única linha é fornecida como entrada para o programa, consistindo em palavras separadas por espaços. Cada palavra contém garantidamente um dígito de 1 a 9. É necessário ordenar as palavras na linha de acordo com esses números e exibir o resultado.

Restrições:

  • Se a linha de entrada estiver vazia, o programa deve retornar uma linha vazia.
  • As palavras consistem apenas em letras do alfabeto russo e um dígito.
  • Os números na linha de entrada são sempre consistentes e corretos (por exemplo, se houver 4 palavras, elas terão os números 1, 2, 3, 4).
  • Você pode usar apenas construções básicas: entrada-saída, operadores condicionais ( if/else ) e loops   for . Você não pode importar módulos ou criar funções.

Formato de entrada

A mensagem criptografada do Marsódio (string, Str).

Formato de saída

Mensagem descriptografada e significativa (string, str).

Exemplo

Entrada

O2 B4

Saída

e1tot O2

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
# Получаем зашифрованную строку от пользователя
scrambled_message = input()

# Проверяем, не является ли строка пустой. Если пустая, то и результат - пустая строка.
if not scrambled_message:
    print("")
else:
    # Разделяем строку на отдельные слова по пробелу
    words = scrambled_message.split()
    
    # Создаем пустой список, в который будем складывать слова в правильном порядке.
    # Его размер равен количеству слов во входной строке.
    result_list = [''] * len(words)
    
    # Начинаем цикл по каждому слову в списке перемешанных слов
    for word in words:
        # Внутри этого цикла ищем цифру в текущем слове
        for char in word:
            # Проверяем, является ли текущий символ цифрой
            if char.isdigit():
                # Если это цифра, превращаем ее в число
                position = int(char)
                # Так как нумерация в задаче с 1, а индексы в списке с 0, вычитаем единицу
                index = position - 1
                # Помещаем текущее слово в результирующий список на правильную позицию
                result_list[index] = word
                # Мы нашли цифру, можно прекратить проверку символов в этом слове и перейти к следующему
                break
    
    # Соединяем отсортированные слова из списка обратно в одну строку через пробел
    final_message = " ".join(result_list)
    
    # Выводим итоговое, расшифрованное сообщение
    print(final_message)

🎉 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!