1
resposta

Monitorando Vendas no Comércio ((DÚVIDA))

Observei a explicação do tutor e resolvi da seguinte forma:

macas = int(input("Digite a quantidade de maçãs vendidas: "))
bananas = int(input("Digite a quantidade de bananas vendidas: "))

if macas > bananas:
    print("As maçãs tiveram mais vendas. ")
elif bananas > macas:
    print("As bananas tiveram mais venas. ")
else:
    ("As vendas foram iguais. ")

Porém, perguntei ao professor AI se teria como reduzir a quantidade de linhas, ele me informou que sim!
Com essa solução ( usando o operador ternário do Python (x if condição else y).)

macas = int(input("Maçãs: "))
bananas = int(input("Bananas: "))

print("Maçãs venderam mais." if macas > bananas else "Bananas venderam mais." if bananas > macas else "As vendas foram iguais.")

**Mas eis a pergunta, em relação ao espaço na MEMÓRIA fará diferença? O fato de ter menos Linhas de código NESSE CASO em específico teremos economizado memória?

1 resposta

Olá, Giovany. Como vai?

Essa é uma dúvida muito comum quando começamos a descobrir os "atalhos" das linguagens de programação. É tentador pensar que menos linhas de código resultam em um programa mais leve, mas a resposta curta é: não, nesse caso em específico, não há economia de memória significativa.

Para entender o porquê, precisamos olhar o que acontece por trás das cortinas:

1. Legibilidade vs. Performance
O Python é uma linguagem de alto nível. Quando você escreve um if/elif/else tradicional ou um operador ternário, o computador traduz ambos para instruções muito parecidas (chamadas de bytecode). A memória consumida para armazenar essas poucas instruções é praticamente a mesma.

2. O custo das variáveis
O que realmente consome memória em programas simples são as variáveis. Nos dois códigos, você criou macas e bananas. O fato de o print estar em uma linha ou em cinco não muda o espaço que esses números ocupam na RAM.

3. Quando menos linhas realmente importam?
Economizar linhas só faria diferença na memória se você estivesse lidando com arquivos de código gigantescos (milhares de linhas) ou se estivesse programando para dispositivos com memória extremamente limitada, como sensores de hardware (microcontroladores). Em aplicações web ou ciência de dados, a prioridade quase sempre é a legibilidade.

Dica de boa prática:
O operador ternário é excelente para condições simples (A ou B). No seu exemplo, como existem três possibilidades (Maçãs, Bananas ou Iguais), o ternário aninhado que a IA sugeriu começa a ficar difícil de ler.

Regra de ouro: Se outra pessoa (ou você mesmo daqui a um mês) demorar mais de 3 segundos para entender a lógica da linha, é melhor usar o if tradicional.

No seu primeiro código, notei apenas um pequeno detalhe: na última linha (else), faltou o comando print. O correto seria:

else:
    print("As vendas foram iguais.")

Seu raciocínio sobre a eficiência é ótimo! Continuar questionando como o código impacta a máquina é o que diferencia um bom programador.

Espero que possa ter lhe ajudado!