Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Desafio 2] Hora da prática

Olá pessoal, espero que esta mensagem os encontrem bem ao tempo da leitura!

Quero compartilhar com vocês a minha visão de como resolver as questões. Em algumas situações eu procurei sair do convencional e comentei para orientar aos colegas que vierem buscar auxílio.

As resposta completas estão no projeto: https://github.com/vitorkol/python-for-data, porque não caberia todas aqui, decorrente a limitação de caracteres do post.

nome = input("Digite seu nome");
print(f"Olá {nome}");
output: Digite seu nome Alura
Olá Alura
idade = int(input("Digite a sua idade:"));
print(f"Olá {nome}, sua idade é: {idade} anos, está correto?");
output: Digite a sua idade: 19
Olá Alura, sua idade é: 19 anos, está correto?
altura = float(input("digite a sua altura:"));
print(f"Olá {nome}, sua idade é: {idade}, sua altura é: {altura}cm, está correto?");
output: digite a sua altura: 1.68
Olá Alura, sua idade é: 19, sua altura é: 1.68cm, está correto?
print('Preciso de algumas informações para estatística');
valor1 = int(input('Digite um valor entre 0-1000'));
valor2 = int(input('Digite um valor negativo:'));
output:Preciso de algumas informações para estatística
Digite um valor entre 0-1000 283
Digite um valor negativo: -13
print('estamos acabando!');
valor3 = int(input('Digite um novo valor que vier a sua mente:'));

# Criando a função que processa a soma de valores
def soma(a,b,c):
    return a+b+c

print(f"A soma dos 3 valores é: {soma(valor1,valor2,valor3)}");
output:estamos acabando!
Digite um novo valor que vier a sua mente: 30
A soma dos 3 valores é: 300
# Criando a função que processa a subtração de valores
def subtracao(a,b):
    return abs(a)-abs(b) # Aqui usei a função abs() para evitar erro de cálculo com números negativos.

print(f"A subtração dos 2 valores iniciais é: {subtracao(valor1,valor2)}");
output:A subtração dos 2 valores iniciais é: 270
# Criando a função que processa a multiplicação de valores
def multiplica(a,b):
    return a*b

print(f"A multiplicação dos 2 valores iniciais é: {multiplica(valor1,valor2)}");
output: A multiplicação dos 2 valores iniciais é: -3679
numerador = int(input("Digite um valor para o numerador: "));
denominador = int(input("Digite um valor maior do que 0 para o denominador: "));

if denominador != 0:
    # Usando o / para ter o resultado decimal
    resultado = numerador / denominador;
    print(f"O resultado inteiro da divisão é: {resultado:.0f}");
    print(f"O resultado real da divisão é: {resultado:.1f}");
else:
    print("Erro Crítico: Divisão por zero não é permitida na física ou matemática.");
output:Digite um valor para o numerador:  5
Digite um valor maior do que 0 para o denominador:  2
O resultado inteiro da divisão é: 2
O resultado real da divisão é: 2.5
operador = int(input("Digite um valor para o operador: "));
potencia = int(input("Digite um valor para a potencia: "));

print(f"O resultado da exponenciação é: {operador**potencia}");
output:Digite um valor para o operador:  3
Digite um valor para a potencia:  2
O resultado da exponenciação é: 9
numerador = int(input("Digite um valor para o numerador: "))
denominador = int(input("Digite um valor maior do que 0 para o denominador: "))

if denominador != 0:
    # Usando o / para ter o resultado decimal
    resultado = numerador / denominador
    print(f"O resultado inteiro da divisão é: {resultado:.0f}")
else:
    print("Erro Crítico: Divisão por zero não é permitida na física ou matemática.")
output:Digite um valor para o numerador:  5
Digite um valor maior do que 0 para o denominador:  2
O resultado inteiro da divisão é: 2
numerador = int(input("Digite um valor para o numerador: "))
denominador = int(input("Digite um valor maior do que 0 para o denominador: "))

if denominador != 0:
    # Usando o / para ter o resultado decimal
    resultado = numerador % denominador
    print(f"O resto da divisão (módulo) é: {resultado:.0f}")
else:
    print("Erro Crítico: Divisão por zero não é permitida na física ou matemática.")
output:Digite um valor para o numerador:  10
Digite um valor maior do que 0 para o denominador:  3
O resto da divisão (módulo) é: 1
nota1 = float(input('Digite a 1° nota do aluno: '))
nota2 = float(input('Digite a 2° nota do aluno: '))
nota3 = float(input('Digite a 3° nota do aluno: '))
print(f'O aluno teve a média de notas de: {(nota1+nota2+nota3)/3}.')
output:Digite a 1° nota do aluno:  7
Digite a 2° nota do aluno:  8.9
Digite a 3° nota do aluno:  9.8
O aluno teve a média de notas de: 8.6.
media_ponderada = (5*1 + 12*2 + 20*3 + 15*4) / (1+2+3+4)
print(f'Média {media_ponderada}.')
output: Média 14.9.
2 respostas

Olá, Vitor! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de funções para organizar cálculos com Python, utilizou muito bem estruturas condicionais para tratar casos de divisão por zero e ainda compreendeu a importância da entrada de dados via input() para tornar o programa interativo.

Uma dica interessante para o futuro é aplicar tratamento de exceções com try e except. Assim:

try:
    numerador = int(input("Digite o numerador: "))
    denominador = int(input("Digite o denominador: "))
    resultado = numerador / denominador
    print(f"O resultado é {resultado}")
except ZeroDivisionError:
    print("Erro: divisão por zero não permitida.")
except ValueError:
    print("Erro: insira apenas números válidos.")

Isso faz com que o programa seja mais robusto, evitando falhas quando o usuário insere valores inesperados.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!
solução!

Obrigado pelo retorno Daniel!
Como estamos em um curso de fundamentos, preferir seguir a linha de raciocínio do curso, mas sem deixar de usar as boas praticas, para deixar um bom exemplo para nossos queridos colegas.
Apesar de já ter experiência e ter o conhecimento do uso do try and exception, preferi não usar para não denotar o uso excessivo e sem conhecimento sólido da função.

No mais, agradeço a Alura pela oportunidade de fazer este curso!