Olá pessoal, espero que esta mensagem os encontrem bem ao tempo da leitura:
Estou compartilhando os principais pontos que achei pertinente demonstrar a minha solução para o desafio, as respostas completas pode ser visualizada no projeto: https://github.com/vitorkol/python-for-data disponibilizado no meu github.
Questão 2
# Sei que a linha 6 poderia ser removida, mas quis deixar para demonstrar que a produção da empresa estagnou.
metaCrescimento = 3
print(f'Como gerente comercial, seu objetivo é bater a meta de produção de {metaCrescimento}% solicitada pela empresa!')
percentualAlcancado = int(input('Informe o percentual alcançado de produção:'))
if percentualAlcancado == metaCrescimento:
print(f'Crescimento Positivo. O percentual alcançado {percentualAlcancado}% não bateu a meta da empresa de {metaCrescimento}%.')
elif 0 <= percentualAlcancado < metaCrescimento:
print(f'Crescimento Positivo. O percentual alcançado {percentualAlcancado}% não bateu a meta da empresa de {metaCrescimento}%.')
elif percentualAlcancado > metaCrescimento:
print(f'Crescimento Positivo. O percentual alcançado {percentualAlcancado}% superou a meta da empresa de {metaCrescimento}%.')
else:
print(f'Decrescimento. O percentual alcançado {percentualAlcancado}% foi inferior a meta projetada pela empresa de {metaCrescimento}%.')
Questão 4
# Aplicando o conceito aprendido na de operadores logicos trabalhando com lista.
# Criei uma lista para coletar os dados.
precoMedioAno = [
float(input('Informe o preço no 1º ano: ')),
float(input('Informe o preço no 2º ano: ')),
float(input('Informe o preço no 3º ano: '))
]
# Ao ler a documentação do python, vim que tem a função min, max e apliquei no exercício.
maior = max(precoMedioAno)
menor = min(precoMedioAno)
# 3. Exibição formatada
print(f'O preço médio mais alto foi de: R${maior:.2f}')
print(f'O preço médios mais baixo foi de: R${menor:.2f}')
Questão 6
# Aplicando o conceito aprendido na de operadores logicos trabalhando com lista.
# Criei uma lista para coletar os dados.
numero = [
float(input('Informe o primeiro número: ')),
float(input('Informe o segundo número: ')),
float(input('Informe o terceiro número: '))
]
# Lendo a documentação do pyton vi que a função sort() que ordena, e para imprimir na ordem decrescente tenho que usar o reverse = true
decrescente = sorted(numero, reverse=True)
print(f'Ordem dos números digitada pelo usuário: {numero}.')
print(f'Ordem decrescente dos números: {decrescente}.')
Questão 7
# Coletando o turno e já tratando a entrada (minúsculo e sem espaços extras), aplicando os conceitos de manipulação de strings ensinado no curso
turno = input('Em qual turno você estuda? (M-manhã, T-tarde, N-noite): ').lower().strip()
if turno == 'manhã' or turno == 'm':
print('Bom Dia!')
elif turno == 'tarde' or turno == 't':
print('Boa Tarde!')
elif turno == 'noite' or turno == 'n':
print('Boa Noite!')
else:
print('Erro: Turno não reconhecido. Use M, T ou N.')
Questão 10
# Colentando os dados primários para execução do programa
num1 = float(input("Digite o primeiro número: "))
num2 = float(input("Digite o segundo número: "))
operacao = input("Qual operação deseja realizar? (+, -, *, /): ").strip()
resultado = 0
# Criei a flag valido, porque se a operação for inválida, o programa avisa e não tenta analisar o número, pois não faz sentido analisar um erro.
valido = True
# Estrutura if else usada para tomar de decisão para a operação
if operacao == '+':
resultado = num1 + num2
elif operacao == '-':
resultado = num1 - num2
elif operacao == '*':
resultado = num1 * num2
elif operacao == '/':
if num2 != 0:
resultado = num1 / num2
else:
print("Erro Crítico: Divisão por zero não é permitida na física ou matemática. Operação Cancela!")
valido = False
else:
print(f"O operador usado: {operacao}, resultou em uma operação inválida. Operação cancelada!")
valido = False
# validando as entradas de dados, se o usuário inserir uma informação não válida, o programa só irá executar se a operação for válida.
if valido:
# Tratando valores pares ou ímpares (usando o módulo % que aprendemos!)
par_impar = "par" if resultado % 2 == 0 else "ímpar"
# Observação: tratando resultados positivo negativo.
if resultado > 0:
pos_neg = "positivo"
elif resultado < 0:
pos_neg = "negativo"
else:
pos_neg = "neutro (zero)"
# Observação: tratando resultados decimal.
tipo = "inteiro" if resultado == int(resultado) else "decimal"
print(f"\nResultado da operação: {resultado}")
print(f"O número é {par_impar}, {pos_neg} e {tipo}.")
Espero que tenha contribuído para o estudo de todos!

