Escreva um programa em que o usuário deve entrar com uma sequência de 7 números inteiros, e imprima os valores maiores que 10, de modo invertido à entrada. Por exemplo, a sequência dada na entrada é: 1238254310 , e será mostrado na tela nesta ordem: 312512.

Passo 1

O enunciado pede que o usuário entre com uma sequência de 7 números inteiros e que o programa imprima os valores maiores que 10, mas na ordem inversa da entrada. Ou seja:
  • Entrada: uma sequência de exatamente 7 inteiros (podem vir em uma única linha separados por espaços ou em linhas diferentes).
  • Saída: todos os números da entrada que satisfazem a condição “maior que 10”, exibidos no sentido inverso ao da leitura (o último elemento da entrada aparece primeiro na saída), concatenados sem separadores (como no exemplo dado).
Exemplo (interpretação do pedido): se a entrada fosse os números
1 2 3 8 25 4 3
os números maiores que 10 seriam apenas 25, e invertendo a ordem (a ordem invertida desses selecionados) continua sendo 25. Se houvesse mais de um número maior que 10, todos aparecem na ordem invertida da entrada.

Passo 2

Estratégia simples e confiável (passo a passo do que o programa fará):
  1. Ler tokens da entrada até obter os 7 inteiros pedidos.
  2. Converter esses tokens para inteiros e guardar numa lista na ordem lida.
  3. Filtrar essa lista, mantendo só os valores que são estritamente maiores que 10.
  4. Inverter a lista filtrada (para obter o sentido inverso da entrada).
  5. Imprimir os elementos dessa lista invertida concatenados, sem separador (cada número convertido para string e juntado).
Observação sobre o formato de saída: escolhi imprimir os números concatenados sem espaço porque o enunciado deu um exemplo no qual a saída aparece como uma sequência contínua de dígitos. Se preferir separados por espaço, é fácil mudar o código (mostro como nos comentários).

Passo 3

Como implementar cada etapa (conceitos e comandos básicos em Python, explicados):
  • Ler entrada: usar a função built-in input() e dividir a linha em tokens com split(). Como o usuário pode digitar em várias linhas, podemos acumular tokens lendo linhas até termos 7 tokens.
  • Converter para inteiro: usar int(token) para cada token; isso lança erro se o token não for um inteiro válido — assumimos entrada correta conforme enunciado.
  • Filtrar > 10: percorrer a lista e selecionar somente os elementos com valor maior que 10 — em Python isso é fácil com uma list comprehension, por exemplo [x \text{ for } x \text{ in } nums \text{ if } x > 10].
  • Inverter lista: pode-se usar slice \texttt{lst[::-1]} ou a função \texttt{reversed(lst)}.
  • Juntar e imprimir concatenado: transformar cada número em string com \texttt{str(x)} e usar \texttt{''.join(...)}} para concatenar sem separadores.

Passo 4

Exemplo rápido para fixar (sem código completo ainda):
  • Lista de entrada (ordem lida): [5, 12, 3, 20, 11, 7, 9].
  • Filtrando >10: [12, 20, 11].
  • Invertendo: [11, 20, 12].
  • Concatenando em string: "112012".
    Perceba que cada número vira texto e a junção não insere espaços.

Passo 5

Algumas decisões de robustez:
  • O programa vai ler linhas até coletar 7 tokens (número pedidos), então aceita entrada em uma linha ou em várias.
  • Se houver mais tokens na última linha, apenas os primeiros 7 são usados.
  • Se nenhum número for maior que 10, o programa imprimirá uma linha vazia (apenas quebra de linha). Isso corresponde ao enunciado que não pede mensagem especial nesse caso.
  • Se você preferir outra formatação (por exemplo, números separados por espaço), substitua a linha de impressão por algo como \texttt{print(' '.join(out))}, onde \texttt{out} é a lista de strings dos números invertidos.

Passo 6

Vou agora apresentar o programa completo em Python (versão explicada acima). Esse programa não imprime mensagens de prompt — é adequado para uso em avaliadores automáticos ou execução direta.

Passo 7

Explicação linha a linha do código que segue na seção de resposta:
  • Inicializa uma lista de tokens vazia.
  • Lê linhas e faz split até ter pelo menos 7 tokens.
  • Constrói a lista de 7 inteiros a partir dos tokens.
  • Filtra os que são maiores que 10.
  • Inverte a lista filtrada.
  • Converte cada valor para string e junta sem separador, imprimindo o resultado.

Resposta

import sys

tokens = []
while len(tokens) < 7:
    try:
        line = input()
    except EOFError:
        break
    if not line:
        continue
    tokens += line.strip().split()

# Se não houver tokens suficientes, usamos o que foi lido (assume-se entrada correta conforme enunciado)
tokens = tokens[:7]

nums = list(map(int, tokens))

filtered = [x for x in nums if x > 10]
filtered.reverse()  # inverte a ordem

# imprime concatenado sem separadores (ex.: 31025)
print(''.join(str(x) for x in filtered))

Exercícios relacionados