A Forma Correta de Gerar Saídas em Lote
Use uma lista como buffer e join para imprimir rapidamente.
A Forma Correta de Gerar Saídas em Lote é uma aula grátis de Competitive Programming Academy no CoddyKit. Esta é a aula 3 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 Competitive Programming Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Competitive Programming Academy inclui 4 aulas no total.
A saída também pode ser lenta
Assim como a leitura, a escrita é importante. Chamar print() milhares de vezes esvazia os buffers repetidamente e pode consumir silenciosamente seu limite de tempo.
Reúna e depois imprima
A solução é reunir primeiro suas respostas em uma lista e depois enviá-las de uma só vez ao final.
out = []Adicione cada resposta
Dentro do laço, coloque cada resultado na lista com append em vez de imprimi-lo imediatamente.
out.append(str(answer))Somente strings, por favor
join funciona com texto, então converta os números em strings antes de armazená-los ou faça a conversão no momento de usar join.
out.append(str(x))Una tudo em um bloco
Una a lista com join, usando uma quebra de linha para que cada resposta fique em sua própria linha.
result = "\n".join(out)Imprima tudo de uma vez
Agora, um único print(result) envia todas as respostas de uma só vez, muito mais rápido do que várias impressões pequenas.
print("\n".join(out))Evite str com um gerador
Você pode converter durante o processo: passe um gerador de chamadas str() diretamente para join, sem precisar de uma etapa separada.
print("\n".join(str(x) for x in out))Saída separada por espaços
Precisa colocar os valores em uma única linha? Una-os com um espaço em vez de uma quebra de linha para imprimi-los lado a lado.
print(" ".join(map(str, row)))Use sys.stdout para obter mais velocidade
Para obter a saída mais rápida possível, escreva diretamente com sys.stdout.write, que ignora a formatação de print().
import sys
sys.stdout.write(result)Lembre-se da quebra de linha final
sys.stdout.write não adiciona uma quebra de linha, então acrescente você mesmo uma quebra de linha se a plataforma de avaliação esperar uma.
sys.stdout.write(result + "\n")Quando algumas impressões são aceitáveis
Se você produzir apenas uma ou duas linhas, o print() comum é suficiente. Agrupe as respostas somente quando a quantidade for grande.
Verificação rápida
Por que vale a pena armazenar a saída em um buffer?
Recapitulação: agrupe a saída
Você aprendeu a armazenar as respostas em uma lista e emiti-las com uma única operação de join e impressão. É a mesma ideia da entrada rápida, aplicada ao lado da escrita. 🖨️
Aprenda Python com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 30
- Aulas
- 120
Perguntas Frequentes
A aula “A Forma Correta de Gerar Saídas em Lote” é grátis?
Sim — o texto completo de “A Forma Correta de Gerar Saídas em Lote” é 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 Competitive Programming Academy, atualize para CoddyKit PRO. O curso de Competitive Programming Academy inclui 4 aulas no total.
O que vou aprender em “A Forma Correta de Gerar Saídas em Lote”?
Use uma lista como buffer e join para imprimir rapidamente. Você pratica Competitive Programming Academy 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 Competitive Programming Academy?
Nenhuma experiência prévia é necessária. Competitive Programming Academy 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 3 de 4.
Quanto tempo leva a aula “A Forma Correta de Gerar Saídas em Lote”?
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 Competitive Programming Academy?
Sim. Cada aula de Competitive Programming Academy 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
- Disputa entre input() e sys.stdin
- Analisando Muitos Números em uma Linha
- A Forma Correta de Gerar Saídas em Lote
- Lendo N Linhas e Casos Extremos