1
resposta

DESAFIO: HORA DA PRÁTICA - Aquecendo na programação

**Aquecendo na programação
**

**1) Escreva um programa que peça à pessoa usuária para fornecer dois números e exibir o número maior.
**

Solicita os números

num1 = float(input("Digite o primeiro número: "))
num2 = float(input("Digite o segundo número: "))

Verifica qual é maior

if num1 > num2:
print("O maior número é:", num1)
elif num2 > num1:
print("O maior número é:", num2)
else:
print("Os dois números são iguais.")

2) Escreva um programa que solicite o percentual de crescimento de produção de uma empresa e informe se houve um crescimento (porcentagem positiva) ou decrescimento (porcentagem negativa).

percentual = float(input("Digite o percentual de crescimento da produção (%): "))

if percentual > 0:
print("Houve crescimento na produção.")
elif percentual < 0:
print("Houve decrescimento na produção.")
else:
print("A produção permaneceu estável, sem crescimento ou decrescimento.")

3) Escreva um programa que determine se uma letra fornecida pela pessoa usuária é uma vogal ou consoante.

Programa que determina se uma letra é vogal ou consoante

letra = input("Digite uma letra: ").lower() # converte para minúscula

Verifica se é uma letra do alfabeto
if letra.isalpha() and len(letra) == 1:
if letra in "aeiou":
print("A letra fornecida é uma vogal.")
else:
print("A letra fornecida é uma consoante.")
else:
print("Entrada inválida. Digite apenas uma letra.")

4) Escreva um programa que leia valores médios de preços de um modelo de carro por 3 anos consecutivos e exiba o valor mais alto e mais baixo entre esses três anos.

Programa que lê valores médios de preços de um carro por 3 anos e exibe o maior e o menor valor

preco1 = float(input("Digite o preço médio do carro no 1º ano: "))
preco2 = float(input("Digite o preço médio do carro no 2º ano: "))
preco3 = float(input("Digite o preço médio do carro no 3º ano: "))

Determina o maior e o menor valor
maior = max(preco1, preco2, preco3)
menor = min(preco1, preco2, preco3)

print("O maior valor entre os três anos foi:", maior)
print("O menor valor entre os três anos foi:", menor)

5) Escreva um programa que pergunte sobre o preço de três produtos e indique qual é o produto mais barato para comprar.

Programa que pergunta o preço de três produtos e indica qual é o mais barato

preco1 = float(input("Digite o preço do primeiro produto: "))
preco2 = float(input("Digite o preço do segundo produto: "))
preco3 = float(input("Digite o preço do terceiro produto: "))

Determina o menor preço
mais_barato = min(preco1, preco2, preco3)

print("O produto mais barato custa:", mais_barato)

6) Escreva um programa que leia três números e os exiba em ordem decrescente.

Programa que lê três números e os exibe em ordem decrescente

num1 = float(input("Digite o primeiro número: "))
num2 = float(input("Digite o segundo número: "))
num3 = float(input("Digite o terceiro número: "))

Coloca os números em uma lista
numeros = [num1, num2, num3]

Ordena em ordem decrescente
numeros.sort(reverse=True)

print("Os números em ordem decrescente são:", numeros)

7) Escreva um programa que pergunte em qual turno a pessoa usuária estuda ("manhã", "tarde" ou "noite") e exiba a mensagem "Bom Dia!", "Boa Tarde!", "Boa Noite!", ou "Valor Inválido!", conforme o caso.

turno = input("Digite o turno em que você estuda (manhã, tarde ou noite): ").lower()

if turno == "manhã":
print("Bom Dia!")
elif turno == "tarde":
print("Boa Tarde!")
elif turno == "noite":
print("Boa Noite!")
else:
print("Valor Inválido!")

8) Escreva um programa que peça um número inteiro à pessoa usuária e determine se ele é par ou ímpar. Dica: Você pode utilizar o operador módulo %.

Programa que determina se um número é par ou ímpar

numero = int(input("Digite um número inteiro: "))

if numero % 2 == 0:
print("O número", numero, "é par.")
else:
print("O número", numero, "é ímpar.")

9) Escreva um programa que peça um número à pessoa usuária e informe se ele é inteiro ou decimal.

Programa que verifica se um número é inteiro ou decimal

numero = float(input("Digite um número: "))

Se o resto da divisão por 1 for zero, é inteiro
if numero % 1 == 0:
print("O número digitado é inteiro.")
else:
print("O número digitado é decimal.")

1 resposta

Olá, Penha. Como vai?

Que sequência espetacular de resoluções! Você resolveu nada menos que nove desafios de uma única vez, cobrindo uma variedade enorme de cenários lógicos. É muito nítido como você está ganhando confiança e dominando as estruturas condicionais no Python.

A estrutura lógica de todos os seus programas está correta. Além disso, gostaria de destacar algumas decisões excelentes que você tomou no seu código:

  • Uso de funções nativas: No Desafio 4 e Desafio 5, usar max() e min() poupou muitas linhas de estruturas if/else aninhadas, tornando o código limpo e eficiente.
  • Manipulação de listas: No Desafio 6, colocar os números em uma lista e usar o método .sort(reverse=True) para ordená-los foi uma solução muito elegante e típica de quem já entende bem as ferramentas que o Python oferece.
  • Tratamento de strings: O uso de .lower() nos Desafios 3 e 7 e do método .isalpha() no Desafio 3 são ótimas práticas de validação de dados, pois evitam que o programa quebre se o usuário digitar letras maiúsculas ou símbolos inválidos.

Para complementar as suas resoluções e continuar elevando o nível do seu código, quero apontar dois pequenos detalhes bem interessantes:

1. Ajuste de exibição no Desafio 6
No Desafio 6, quando você imprime a lista diretamente (print("Os números em ordem decrescente são:", numeros)), o Python exibe o resultado com os colchetes da lista, por exemplo: [30.0, 20.0, 10.0].
Se você quiser exibir apenas os números separados de forma mais amigável para o usuário, pode usar o operador de desempacotamento * do Python. Veja que truque simples e elegante:

# Em vez de imprimir a lista inteira, desempacote os valores:
print("Os números em ordem decrescente são:", *numeros)
# Saída: Os números em ordem decrescente são: 30.0 20.0 10.0

2. O Lembrete da Indentação
Como comentei em suas postagens anteriores, vale sempre o lembrete de conferir os recuos (os 4 espaços ou o Tab) das linhas de print dentro dos blocos if, elif e else quando for rodar o arquivo .py no seu computador ou no VS Code. No texto do fórum as margens acabam alinhando à esquerda por padrão, mas manter a indentação correta é o que garante que o Python execute tudo sem erros de sintaxe.

Você está fazendo um trabalho incrível e a sua constância nos estudos é inspiradora. Parabéns por concluir toda essa bateria de exercícios com tanto sucesso!

Espero que possa ter lhe ajudado!