Average student error

0

I developed the following algorithm to calculate student mean:

matricula = int (input("Digite a matrícula do Aluno: "))

nota1  = float (input("Digite a primeira nota do aluno: "))
nota2  = float (input("Digite a primeira nota do aluno: "))
nota3  = float (input("Digite a primeira nota do aluno: "))


media = ( nota1 +  (nota2 * 2) + (nota3 * 3)) / 6

if media > 6 :
    print(" O Aluno  de matricula "+matricula, " Foi APROVADO com a média: "+media)

else:
    print(" O Aluno  de matricula "+matricula, " Foi REPROVADO com a média: "+media)

The following error appears:

line 17, in <module>
    print(" O Aluno  de matricula "+matricula, " Foi APROVADO com a média: "+media)
TypeError: must be str, not int
    
asked by anonymous 12.10.2018 / 17:34

3 answers

3

You do not need and can not concatenate the text with the number. You could convert the number to text so you can concatenate, but you do not need to do this. Best to just put each argument apart, using commas as it came to use in part.

matricula = int (input("Digite a matrícula do Aluno: "))
nota1  = float (input("Digite a primeira nota do aluno: "))
nota2  = float (input("Digite a primeira nota do aluno: "))
nota3  = float (input("Digite a primeira nota do aluno: "))
media = ( nota1 +  (nota2 * 2) + (nota3 * 3)) / 6
if media > 6:
    print(" O Aluno  de matricula ", matricula, " Foi APROVADO com a média: ", media)
else:
    print(" O Aluno  de matricula ", matricula, " Foi REPROVADO com a média: ", media)

See running on ideone . And no Coding Ground . Also I put GitHub for future reference .

    
12.10.2018 / 17:50
1

One possible solution is to convert numeric type data to string, so you can concatenate.

 print(" O Aluno  de matricula "+str(matricula), " Foi APROVADO com a média: "+str(media))
    
16.10.2018 / 14:09
1

If you are using Python 3.6 or higher, you can use f-string :

resultado = 'APROVADO' if media > 6 else 'REPROVADO'
print(f'O aluno de matricula {matricula} foi {resultado} com a média {media}')
16.10.2018 / 14:14