Escreva em Python um algoritmo que solicite para o usuário inserir
notas de alunos entre 0 e 10 em um loop infinito com condição de
parada uma nota igual a -999. A cada iteração valide que a nota seja
entre 0 e 10 e solicite uma nota correta em caso de erro.
Soluções para a tarefa
Resposta:
import statistics as s
notas = []
nota = 0
while (nota != -999):
nota = float(input("Digite a nota do aluno entre 0 e 10: "))
while ((nota < 0) or (nota > 10)):
if(nota == -999):
break
print("A nota deve ser maior ou igual 0 e menor ou igual a 10.")
nota = float(input("Digite a nota do aluno entre 0 e 10: "))
if(nota != -999):
notas.append(nota)
mediaAritmetica = s.mean(notas)
mediaHarmonica = s.harmonic_mean(notas)
mediaGeometrica = s.geometric_mean(notas)
moda = s.mode(notas)
mediana = s.median(notas)
variancia = s.variance(notas)
desvioPadrao = s.pstdev(notas)
print(f"""
Media aritmética: {mediaAritmetica:.2f}
Media harmonica: {mediaHarmonica:.2f}
Media Geométrica: {mediaGeometrica:.2f}
Moda: {moda:.2f}
Mediana: {mediana:.2f}
Variância: {variancia:.2f}
Desvio padrão: {desvioPadrao:.2f}
""")
Explicação:
Foi importado statistics para ser usado como s.
Toda nota de 0 a 10 que o usuário digitar irá ser armazenada dentro da lista notas.
Caso o usuário digite um valor menor que zero e maior que dez, o algoritmo irá pedir para digitar um valor valido.
E caso o usuário digite o valor -999, o programa irá imprimir com todos os dados pedidos pelo exercício.
Espero ter ajudado.