0

Solucionando Desafios em Python - Não roda o primeiro código.

Allyson Santos
Allyson Santos

Ao final do 'Bootcamp Carrefour Data Engineer' há uma série de 3 desafios em Python cujo nome está no título do artigo. O problema é que é impossível entregar o primeiro desafio pois a resposta do mesmo está 'bugada': há um limite de caracteres para a resposta, e alguns testes excedem esse limite na requisição de resposta (como coloquei no print acima), além de que algumas respostas esperam um ponto '.' ao final da resposta de aluno aprovado ou reprovado sendo que outras respostas não aceitam esse ponto.

Enfim, não é possível satisfazer todos os testes com o mesmo código então não consigo passar desse teste... Já testei todas as possibilidades no Pycharm e tudo rodou nos conformes.

0
0

Comentários (8)

0
R

Renan Nogueira

26/08/2021 22:55

Alguem conseguiu solucionar o problema?

0
H

Hiago Petris

26/08/2021 20:10

Também não estou conseguindo completar o desafio, parece estar bugado.

0
José Araújo

José Araújo

21/08/2021 21:58

Nossa velho, mesmo problema por aqui.

Que desafio bugado, mds...

1
Allyson Santos

Allyson Santos

18/08/2021 17:20

n1, n2, n3, n4= input().split()

n1 = float(n1)

n2 = float(n2)

n3 = float(n3)

n4 = float(n4)


media = (2*n1 + 3*n2 + 4*n3 + n4) / (2+3+4+1)

print('Media: %.1f' %media)


if (media>=7.0):

  print('Aluno aprovado.')

elif(media<5.0):

  print('Aluno reprovado.')

elif((media>=5.0) & (media<=6.9)):

  print('Aluno em exame.')

  n5 = float(input())

  final = (n5+media)/2

  print('Nota do exame:', n5)

  if(final >= 5.0):

    print('Aluno aprovado')

    print(f'Media final: {round(final, 2)}')

  else:

    print('Aluno reprovado')

    print(f'Media final: {round(final, 2)}')


0
Tony Hornes

Tony Hornes

21/08/2021 10:23

Allyson estou com o mesmo problema, meu código roda tranquilo no PyCharm, confere todas as respostas esperadas. O problema é que no teste #1 está bugada a resposta, pois nos dados de entrada eles especificam as 4 notas e abaixo a 5ª nota, ou seja sabem que vai ser necessário exame final, o problema é que a resposta esperada simplesmente pára na Media: 7.0. Não sei o que fazer tb.

E para o teste#4 a resposta esperada é "Aluno reprovado" sem ponto, sendo que nos exemplos pediam com ponto. Simplesmente tirei o ponto, e consigo passar em 3 dos 4 testes abertos, mas vai que nos testes fechados voltam a exigir o ponto.


E assim tb não consigo seguir adiante nos próximos desafios, alguém teve resposta sobre o questionamento?


Segue meu código:


n1, n2, n3, n4= input().split()

n1 = float(n1)

n2 = float(n2)

n3 = float(n3)

n4 = float(n4)


media = (n1*2 + n2*3 + n3*4 + n4*1)/10

print('Media: %.1f' %media)


if (media >= 7):

  print('Aluno aprovado.')

elif(media < 5):

  print('Aluno reprovado.')

else:

  print('Aluno em exame.')

  n5 = float(input())

  final = (n5+media)/2

  print('Nota do exame:', n5)

  if (final >= 5):

    print('Aluno aprovado.')

    print('Media final: %.1f' %final)

  else:

    print('Aluno reprovado')

    print(f'Media final: {final:.1f}')

1
A

Alfredo Neto

18/08/2021 17:45

Boa tarde Allyson Santos O Código Correto do desafio Média 3 em python é:


Código:


# Média 3

# Leia quatro números (N1, N2, N3, N4), cada um deles com uma casa decimal,# correspondente às quatro notas de um aluno. Calcule a média com pesos 2, 3, 4# e 1, respectivamente, para cada uma destas notas e mostre esta média# acompanhada pela mensagem "Media: ". Se esta média for maior ou igual a 7.0,# imprima a mensagem "Aluno aprovado.". Se a média calculada for inferior a 5.0,# imprima a mensagem "Aluno reprovado.". Se a média calculada for um valor entre# 5.0 e 6.9, inclusive estas, o programa deve imprimir a mensagem# "Aluno em exame.".

# No caso do aluno estar em exame, leia um valor correspondente à nota do exame# obtida pelo aluno. Imprima então a mensagem "Nota do exame: " acompanhada pela# nota digitada. Recalcule a média (some a pontuação do exame com a média# anteriormente calculada e divida por 2). e imprima a mensagem "Aluno aprovado."# (caso a média final seja 5.0 ou mais ) ou "Aluno reprovado.", (caso a média# tenha ficado 4.9 ou menos). Para estes dois casos (aprovado ou reprovado após# ter pego exame) apresente na última linha uma mensagem "Media final: " seguido# da média final para esse aluno.

# - Entrada

# A entrada contém quatro números de ponto flutuante correspendentes as notas# dos alunos.

# - Saída

# Todas as respostas devem ser apresentadas com uma casa decimal. As mensagens# devem ser impressas conforme a descrição do problema. Não esqueça de imprimir# o enter após o final de cada linha, caso contrário obterá "Presentation Error".

n1, n2, n3, n4 = input().split()n1 = float(n1)n2 = float(n2)n3 = float(n3)n4 = float(n4)

media = (n1 * 2 + n2 * 3 + n3 * 4 + n4) / (2 + 3 + 4 + 1)print(f"Media: {media:.1f}")

if media >= 7: print('Aluno aprovado.')elif media < 5: print('Aluno reprovado.')elif 5 <= media <= 6.9: print('Aluno em exame.') n5 = float(input()) final = (n5 + media) / 2 print(f"Nota do exame: {n5:.1f}")

if final >= 5: print('Aluno aprovado.') else: print('Aluno reprovado') print(f"Media final: {final:.1f}")

JEsus te abençoe com amor, paz e saúde grande abraço SUCESSO DEV

0
Hugo Porfirio

Hugo Porfirio

18/08/2021 17:43

Cara, a mesma coisa acontece comigo só que em java, e eu não consigo finalizar o desafio e isso em dois desafios diferentes.

0
R

Raul Dias

18/08/2021 16:24

Oi Allyson!

Compartilhe seu código, melhor para analisar o que pode estar equivocado.

Eu sou Allyson Gonçalves dos Santos, sou um estudante de Engenharia da Computação na UAM (Universidade Anhembi Morumbi), também sou um aspirante a dev e apaixonado por tecnologia.

Brasil