Oioi Lutizembergue, tudo bem com você?
Quando estamos trabalhando com funções em Python, precisamos entender que toda função retorna um resultado. Nós temos a opção de informar ao python o que nós queremos que nossa função nos retorne, e podemos fazer isso colocando a declaração return algum_valor
no final da nossa função. Caso preferimos não informar ao python o que a função está retornando, ele automaticamente colocará um valor nulo na resposta, ou no caso none.
O que está acontecendo é que sua função status_aluno()
não apresenta nenhum retorno definido, o que faz com que o python retorne o valor nulo no momento em que você utiliza a função print(status_aluno())
. Para resolvermos isso, temos várias opções. Uma delas é implementando uma variável para armazenar o valor da resposta de aprovação ou reprovação, dentro de sua função, como mostrado abaixo:
def status_aluno():
if media_a >= 7:
status_final = "Aprovado"
if(media_a == 10):
print(f"{status_final} com distinção")
else:
print(f"{status_final}")
elif(media_a < 7):
status_final = "Reprovado"
print(f"{status_final}")
return status_final
print(status_aluno())
Resultado:
DIGITE A 1ª NOTA: 10
DIGITE A 2ª NOTA: 10
Aprovado com distinção
Aprovado
Perceba que eu utilizei a variável status_final
para armazenar o valor do status do aluno, e retornei essa variável no final da função status_aluno()
, ainda utilizando esses mesmos valores nas funções print()
contidas dentro da função.
Outro modo que podemos fazer isso, para evitar redundância na minha resposta final, é retirando as funções print()
de dentro da função status_aluno()
, mantendo a variável agora dentro dos condicionais, como mostrado abaixo:
def status_aluno():
if media_a >= 7:
if(media_a == 10):
status_final = "Aprovado com Distinção"
else:
status_final = "Aprovado"
elif(media_a < 7):
status_final = "Reprovado"
return status_final
print(status_aluno())
Resultado:
DIGITE A 1ª NOTA: 10
DIGITE A 2ª NOTA: 10
Aprovado com distinção
Dessa forma, o resultado se mantém mais direto, mantendo a veracidade da sua resposta :)
Caso tenha interesse de se aprofundar ainda mais sobre a Linguagem Python, recomendo a formação Python e orientação a objetos na alura!
Em caso de dúvidas, me coloco à disposição.
Grande abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!