0Pricing
Coding Interview Prep · Aula

Disputa entre input() e sys.stdin

Por que o input() simples prejudica você em testes grandes.

Disputa entre input() e sys.stdin é uma aula grátis de Coding Interview Prep no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Coding Interview Prep, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Coding Interview Prep inclui 4 aulas no total.

O custo oculto de input()

Cada chamada de input() realiza trabalho extra nos bastidores. Em algumas linhas, isso não é um problema, mas as competições podem fornecer milhares de linhas. ⏱️

Por que isso se acumula

A lentidão vem do custo por chamada: solicitações, esvaziamento de buffers e verificações de codificação se repetem em cada linha lida.

Conheça sys.stdin

O caminho mais rápido é ler de sys.stdin, o fluxo bruto de entrada. Ele ignora os recursos adicionais que input() oferece.

import sys
data = sys.stdin

Leia uma linha rapidamente

Use sys.stdin.readline() para obter uma única linha rapidamente. Seu comportamento é semelhante ao de input(), mas com muito menos custo por chamada.

import sys
line = sys.stdin.readline()

Preste atenção à quebra de linha

readline() mantém o caractere final de quebra de linha. Chame .strip() para removê-lo antes de analisar o valor.

n = int(sys.stdin.readline().strip())

Leia tudo de uma vez

Para fazer leituras ainda mais rápidas, obtenha toda a entrada de uma só vez com sys.stdin.read() e processe o texto por conta própria.

data = sys.stdin.read()

Divida todo o bloco

Depois de read(), chame .split() para transformar todos os tokens em uma única lista simples. Espaços em branco e quebras de linha são tratados juntos.

tokens = sys.stdin.read().split()

Redirecione input para ganhar velocidade

Um truque comum é fazer input apontar para readline, para que seu código antigo continue igual, mas execute mais rápido.

import sys
input = sys.stdin.readline

Quando input() é suficiente

Se um problema lê apenas algumas linhas, o input() comum é perfeitamente suficiente. Deixe o caminho rápido para entradas grandes.

Print também tem custo

A mesma ideia se aplica à saída: muitas chamadas de print() são lentas. Corrigiremos isso em uma lição posterior sobre agrupamento.

Escolha a ferramenta certa

A regra geral é: entrada pequena, use input(); entrada grande, mude para sys.stdin. Escolher a ferramenta de acordo com N ajuda a não perder pontos.

Verificação rápida

Uma verificação rápida e intuitiva sobre a velocidade de leitura.

Recapitulação: leitura rápida

Você conheceu sys.stdin como alternativa rápida a input(): readline() para cada linha ou read().split() para tudo. Escolha a ferramenta de acordo com o tamanho da entrada. ⚡

Perguntas Frequentes

A aula “Disputa entre input() e sys.stdin” é grátis?

Sim — o texto completo de “Disputa entre input() e sys.stdin” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Coding Interview Prep, atualize para CoddyKit PRO. O curso de Coding Interview Prep inclui 4 aulas no total.

O que vou aprender em “Disputa entre input() e sys.stdin”?

Por que o input() simples prejudica você em testes grandes. Você pratica Coding Interview Prep com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Coding Interview Prep?

Nenhuma experiência prévia é necessária. Coding Interview Prep no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Disputa entre input() e sys.stdin”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Coding Interview Prep?

Sim. Cada aula de Coding Interview Prep inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Disputa entre input() e sys.stdin
  2. Analisando Muitos Números em uma Linha
  3. A Forma Correta de Gerar Saídas em Lote
  4. Lendo N Linhas e Casos Extremos
← Voltar para Coding Interview Prep