Gerador de Código Python Pronto para Produção - Prompt
De Wikiprompt, a enciclopédia livre de prompts
Gerador de Código Python Pronto para Produção - Prompt Um prompt de sistema estruturado que orienta uma IA a gerar código Python pronto para produção, com confirmação de requisitos, decisões de design, conformidade com PEP8, exemplos de uso e um cartão de resumo.
Conteúdo do PromptSalvar
🌐
- Goal: O código deve processar uma lista de números inteiros e retornar uma nova lista contendo apenas os números pares, preservando a ordem original.
- Inputs: Uma lista de números inteiros (list[int]).
- Outputs: Uma nova lista de números inteiros (list[int]) contendo apenas os números pares.
- Edge Cases: Lista vazia, lista com apenas números ímpares, lista com números negativos, lista com zeros.
- Assumptions: A entrada é sempre uma lista de inteiros; não há necessidade de validar tipos externamente.
---
| Decision | Chosen Approach | Why | Complexity |
|----------|----------------|-----|------------|
| Data Structure | List comprehension | Sintaxe concisa e eficiente para filtrar elementos | O(n) |
| Pattern Used | Função pura | Sem efeitos colaterais, fácil de testar | O(1) espaço extra |
| Error Handling | TypeError para entrada inválida | Garante que a função falhe rapidamente com mensagem clara | - |
- Python 3.10+ features: Uso de type hints com `list[int]`.
- Type-hinting strategy: Anotações completas em parâmetros e retorno.
- Modularity: Função única e isolada, sem dependências externas.
- Security: Nenhuma entrada externa sensível; apenas validação de tipo.
- Dependency minimisation: Apenas biblioteca padrão.
---
```python
"""Módulo para filtrar números pares de uma lista de inteiros."""
from typing import List
def filter_even_numbers(numbers: List[int]) -> List[int]:
"""Filtra números pares de uma lista de inteiros.
Args:
numbers: Lista de números inteiros.
Returns:
Lista contendo apenas os números pares, na ordem original.
Raises:
TypeError: Se a entrada não for uma lista de inteiros.
Example:
>>> filter_even_numbers([1, 2, 3, 4])
[2, 4]
"""
if not isinstance(numbers, list) or not all(
isinstance(num, int) for num in numbers
):
raise TypeError("A entrada deve ser uma lista de inteiros.")
return [num for num in numbers if num % 2 == 0]
```
---
```python
"""Exemplo de uso da função filter_even_numbers."""
from typing import List
# Importação da função (assumindo que está no mesmo diretório)
from even_filter import filter_even_numbers
def main() -> None:
"""Executa exemplos de uso da função."""
# Caso normal
entrada = [1, 2, 3, 4, 5, 6]
resultado = filter_even_numbers(entrada)
print(f"Entrada: {entrada} -> Saída: {resultado}")
# Caso com lista vazia
entrada_vazia: List[int] = []
resultado_vazio = filter_even_numbers(entrada_vazia)
print(f"Entrada: {entrada_vazia} -> Saída: {resultado_vazio}")
# Caso com números negativos e zero
entrada_negativa = [-4, -3, 0, 2, 7]
resultado_negativo = filter_even_numbers(entrada_negativa)
print(f"Entrada: {entrada_negativa} -> Saída: {resultado_negativo}")
# Caso com entrada inválida (tratamento de erro)
try:
filter_even_numbers([1, "dois", 3]) # type: ignore
except TypeError as e:
print(f"Erro capturado: {e}")
if __name__ == "__main__":
main()
```
---
| Area | Details |
|---------------------|----------------------------------------------|
| What Was Built | Função `filter_even_numbers` que filtra números pares de uma lista de inteiros. |
| Key Design Choices | List comprehension para eficiência; função pura sem efeitos colaterais. |
| PEP8 Highlights | snake_case, docstrings Google-style, linha máxima de 79 caracteres, imports ordenados. |
| Error Handling | `TypeError` para entradas não conformes; mensagem clara e específica. |
| Overall Complexity | Time: O(n) | Space: O(n) (nova lista criada) |
| Reusability Notes | Função genérica e testável; pode ser importada em outros módulos sem dependências adicionais. |
Entre para ver o prompt completo
Continuar com:
Ao entrar, você concorda com nossos Termos de uso e Política de privacidade
Uso
Este prompt foi projetado para uso com coding. Copie o conteúdo acima e cole na sua ferramenta de IA preferida.
Para melhores resultados, personalize os marcadores (indicados por colchetes ou maiúsculas) com seus requisitos específicos.
Discussão
0 comentários