1
resposta

Desafio: estruturas condicionais

Vou copiar as perguntas aqui para mostrar o que eu fiz. Aqui eu tive algumas dúvidas.

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

num1 = float(input('Digite o 1° número: '))
num2 = float(input('Digite o 2° número: '))

if num1 > num2:
print(f' O primeiro número é maior: {num1}')
elif num2 > num1:
print(f'O segundo número é maior: {num2}')
else: # se os números sejam iguais
print('Os dois números são iguais.')

  1. 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).

variacao = float (input ('percentual de crescimento: '))

if variacao > 0:
print(f'Houve um crescimento de {variacao}%')
elif variacao < 0:
print(f'Houve um decrescimento de {variacao}%')
else:
print('Não houve crescimento ou decrescimento.')

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

letra = input('Digite uma letra: ').lower()
vogais = 'a e i o u'

if letra in vogais:
print('A letra é uma vogal.')
else:
print('A letra é uma consoante.')

  1. 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.

p_ano1 = float (input ('Informe o preço médio do carro no primeiro ano: '))
p_ano2 = float (input ('Informe o preço médio do carro no segundo ano: '))
p_ano3 = float (input ('Informe o preço médio do carro no terceiro ano: '))

Maior valor

maior = preco_ano1
if preco_ano2 > maior:
maior = preco_ano2
if preco_ano3 > maior:
maior = preco_ano3

#para o menor valor
menor = preco_ano1
if preco_ano2 < menor:
menor = preco_ano2
if preco_ano3 < menor:
menor = preco_ano3

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

#Preços dos três produtos
p1 = float (input ('Digite o preço do primeiro produto: '))
p2 = float (input ('Digite o preço do segundo produto: '))
p3 = float (input ('Digite o preço do terceiro produto: '))

#produto mais barato
if p1 < p2 and p1 < p3:
print('O primeiro produto é o mais barato.')
elif p2 < p1 and p2 < p3:
print('O segundo produto é o mais barato.'
elif p1 == p2 == p3:
print('Os produtos possuem o mesmo preço.')

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

#3 numeros
n1 = int (input ('Informe o primeiro número: '))
n2 = int (input ('Informe o segundo número: '))
n3 = int (input('Informe o terceiro número: '))

#Comparação entre os 3 números
if (num1 >= num2) and (num1 >= num3):
print(num1)
if num2 >= num3:
print(num2)
else:
print(num3)

elif (num2 >= num1) and (num2 >= num3):
print(num2)

  1. 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 seu turno (manhã, tarde ou noite): ')

if turno == 'manhã':
print('Bom Dia!')
elif turno == 'tarde':
print('Boa Tarde!')
elif turno == 'noite':
print('Boa Noite!')

  1. 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 %.

n = int (input ('Digite um número: '))

if num % 2 = 0:
print('O número é par.')
else:
print('O número é ímpar.')

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

n = float (input ('Digite um número: '))

if num % 1 == 0:
print('O número é inteiro.')
else:
print('O número é decimal.')

10) Um programa deve ser escrito para ler dois números e, em seguida, perguntar à pessoa usuária qual operação ele deseja realizar. O resultado da operação deve incluir informações sobre o número - se é par ou ímpar, positivo ou negativo e inteiro ou decimal.

n1 = float(input('Informe o primeiro número: '))
n2 = float(input('Informe o segundo número: '))
Op = input('Informe a operação desejada (+, -, *, /): ')

#Verificamos o operador
if op == '+':
resultado = num1 + num2
elif op == '-':
resultado = num1 - num2
elif op == '*':
resultado = num1 * num2
elif op == '/':
resultado = num1 / num2

#verificações
if resultado % 1 == 0:
print('O resultado é inteiro.')
else:
print('O resultado é decimal.')

if resultado > 0:
print('O resultado é positivo.')
elif resultado == 0:
print('O resultado é neutro.')

if resultado % 2 == 0:
print('O resultado é par.')
else:
print('O resultado é ímpar.')

1 resposta

Olá, Pedro! Tudo bem?

É muito gratificante acompanhar sua evolução. Você já está dominando a lógica das estruturas condicionais (if, elif, else), que são o coração de qualquer tomada de decisão em Python.

Notei que, em alguns exercícios, você teve dúvidas ou o código apresentou pequenos erros de digitação. Como você mesmo disse que sente que está "ensinando uma criança", vamos ajustar alguns "vocábulos" que o Python não entendeu direito para que seu programa rode perfeitamente.

Aqui estão os pontos principais de atenção:

1. Cuidado com o Nome das Variáveis

O erro mais comum que vi foi você definir uma variável com um nome e tentar usá-la com outro. O Python é muito rigoroso com isso:

  • Exercício 4: Você definiu p_ano1, mas tentou usar preco_ano1.
  • Exercício 8 e 9: Você definiu n, mas usou num no cálculo do módulo.
  • Exercício 10: Você definiu Op (com O maiúsculo) e n1, mas usou op e num1. Lembre-se: op é diferente de Op!

2. Operadores de Comparação vs. Atribuição

No Exercício 8, você usou if num % 2 = 0:.

  • Atenção: Em Python, um único = serve para guardar um valor (atribuição). Para testar se algo é igual a outra coisa, usamos o sinal duplo: ==.
  • Correção: if n % 2 == 0:

3. Lógica de Ordenação (Exercício 6)

Ordenar três números manualmente com if é um desafio clássico de lógica!

Uma forma mais simples de estruturar o que você começou seria:

if n1 >= n2 and n1 >= n3:
    if n2 >= n3:
        print(n1, n2, n3)
    else:
        print(n1, n3, n2)
elif n2 >= n1 and n2 >= n3:
    if n1 >= n3:
        print(n2, n1, n3)
    else:
        print(n2, n3, n1)
else:
    if n1 >= n2:
        print(n3, n1, n2)
    else:
        print(n3, n2, n1)

4. Dica de "Pythonista" (Exercício 3)

Seu código das vogais está ótimo! Uma dica para deixá-lo mais robusto contra espaços extras é usar o .strip() que você aprendeu antes:
letra = input('Digite uma letra: ').lower().strip()

Resumo de Ajustes Rápidos:

  • Exercício 5: Faltou fechar o parêntese no segundo print e tratar o caso do p3 ser o menor.
  • Exercício 10: Lembre-se que um número decimal (como 2.5) não pode ser classificado como "par ou ímpar" da mesma forma que um inteiro, então o teste de paridade costuma vir dentro do if resultado % 1 == 0:.

Você está no caminho certo, Pedro! O fato de você estar identificando onde tem dúvidas é o que te fará um excelente analista. Tente corrigir esses nomes de variáveis no seu Colab e veja a mágica acontecer.

Qual desses exercícios foi o mais difícil de estruturar a lógica na sua cabeça?