0

Exercicio 3 Programa de Validação de Notas Desafio

#Python
Mario Gallo
Mario Gallo

Senhores mentores boa tarde


Gostaria de obter um apoio para conseguir concluir o desafio 3 do Programa de Validação de Notas em Python do Bootcamp Data Engineer Carrefour. Agradeço se puderem me orientar na solução das formulas. Segue o link:

https://web.digitalinnovation.one/coding/solucionando-desafios-em-python/algorithm/programa-para-validacao-de-notas?back=/track/banco-carrefour-data-engineer


Segue o enunciado e solução.

Desafio

O calendário escolar está passando bem rápido, devido a isso, as professoras de uma escola estão com dificuldade para calcular as notas dos alunos. Visando em resolver a situação, a diretora da escola contratou você para desenvolver um programa que leia as notas da primeira e da segunda avaliação de um aluno. Calcule e imprima a média semestral.

O programa só aceitará notas válidas (uma nota válida deve pertencer ao intervalo [0,10]). Cada nota deve ser validada separadamente.

No final deve ser impressa a mensagem “novo calculo (1-sim 2-nao)”, solicitando as professoras que informe um código (1 ou 2) indicando se ele deseja ou não executar o algoritmo novamente, (aceitar apenas os código 1 ou 2). Se for informado o código 1 deve ser repetida a execução de todo o programa para permitir um novo cálculo, caso contrário o programa deve ser encerrado.

Entrada

O arquivo de entrada contém vários valores reais, positivos ou negativos. Quando forem lidas duas notas válidas, deve ser lido um valor inteiro . O programa deve parar quando o valor lido para este X for igual a 2.


Saída

Se uma nota inválida for lida, deve ser impressa a mensagem “nota invalida”. Quando duas notas válidas forem lidas, deve ser impressa a mensagem “media = ” seguido do valor do cálculo.

Antes da leitura de X deve ser impressa a mensagem "novo calculo (1-sim 2-nao)" e esta mensagem deve ser apresentada novamente se o valor da entrada padrão para X for menor do que 1 ou maior do que 2, conforme o exemplo abaixo.

A média deve ser impressa com dois dígitos após o ponto decimal.

 

Exemplo de EntradaExemplo de Saída-3.5

3.5

11.0

10.0

4

1

8.0

9.0

2

nota invalida

nota invalida

media = 6.75

novo calculo (1-sim 2-nao)

novo calculo (1-sim 2-nao)

media = 8.50

novo calculo (1-sim 2-nao)

def notas_media(x, y):

  //complete

  media = '%.2f' % media

  print('media =',media)



def notas_validas():

  x = float(input())

  //complete

    return x

  else:

    print('nota invalida')

    return notas_validas()


choice = 1

while choice == 1:

  j = -1

  k = -1

  while k==-1:

    k = notas_validas()

  while j==-1:

   //complete

  notas_media(k,j)

  choice =3

  while choice<1 or choice>2:

    choice = eval(input('novo calculo (1-sim 2-nao)\n'))


Agradeço se puderem me orientar.


Atenciosamente


DEV Mario Antonio Gallo

0
1

Comentários (3)

0
Tony Hornes

Tony Hornes

21/08/2021 11:42

Bom dia, só para constar envio outra solução aproveitando o que o Desafio sugeria usando métodos e funções.


Segue o código:


def notas_media(x, y):
    media = (x + y)/2
    media = '%.2f' % media
    print('media =',media)

def notas_validas():
    x = float(input())
    if (x >= 0) & (x <= 10):
        return x
    else:
        print('nota invalida')
        return notas_validas()

choice = 1
while choice == 1:
    j = -1
    k = -1
    while k==-1:
        k = notas_validas()
    while j==-1:
        j = notas_validas()
    notas_media(k,j)
    choice = 3
    while choice<1 or choice>2:
        choice = eval(input('novo calculo (1-sim 2-nao)\n'))


0
Mario Gallo

Mario Gallo

16/07/2021 16:57

Boa tarde Alfredo Neto


Muito Obrigado pela sua ajuda. Valeu muito pra mim conseguir batalhar para terminar o Bootcamp Data Engineer Carrefour.

Um forte Abraço. Fique na presença de Deus e Jesus Cristo também. Somos do mesmo time.


Mario Gallo

0
A

Alfredo Neto

15/07/2021 13:08

Boa tarde Mario Antonio Gallo O Código Correto Do DEsafio validação de Notas em python:


Código:


nota_soma = 0 

cont = 0

continuar = True


while continuar==True:

 nota = float(input())

  

 if nota>=0.0 and nota <=10:

  nota_soma += nota

  cont += 1 


  if cont == 2:

    

   print("media = %.2f"%(nota_soma/2))

   cont = 0 

   nota_soma = 0


   while True:

    print("novo calculo (1-sim 2-nao)")

    novo = int(input())

    if novo == 2:

     continuar = False

     break

    elif novo == 1:

     continuar = True

     break

    

 else:

  print("nota invalida")


Jesus te abençoe com amor, Paz E Saúde Abraço Sucesso DEV

Sou uma Pessoa Otimista, Positivo, Organizado e Responsavel no meu trabalho.

Brasil