Python - TypeError: cannot concatenate 'str' and 'float' objects

 
Vista:
sin imagen de perfil

TypeError: cannot concatenate 'str' and 'float' objects

Publicado por manuel (1 intervención) el 16/04/2016 05:04:42
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if res==2:
    a=str(input("ingrese el numero de alumno"))
    b=float(input("ingrese la sección"))
    i=float(input("ingrese el promedio de las I"))
    r=float(input("ingrese el promedio de las tareas"))
    p=float(input("ingrese el promedio de participacion"))
    e=float(input("ingrese la nota del examen"))
    if b==1 or b==4:
		n=((0.3 * i) + (0.3 * r) + (0.3 * e))/0,9
    elif b==2 or b==5:
		n= (0.30 * i ) + (0.30 * r) + (0.30 * e) + (0.10 * p)
    elif b==3 or b==6:
		if p < ((e+i+r)/3):
			n= ((0.3 * i) + (0.3 * r) + (0.3 * e))/0.9
		elif p > ((e+i+r)/3):
			n=(0.30 * i ) + (0.30 * r) + (0.30 * e) + (0.10 * p)
    print("N° Alumno:"+a+"sección:"+b+"promedio:"+n)

Traceback (most recent call last):
File "desafio 8.py", line 54, in <module>
n=(0.30 * i ) + (0.30 * r) + (0.30 * e) + (0.10 * p)
TypeError: cannot concatenate 'str' and 'float' objects

que puedo hacer?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Fco. Javier

TypeError: cannot concatenate 'str' and 'float' objects

Publicado por Fco. Javier (2 intervenciones) el 16/04/2016 12:09:06
Hola Manuel,

primero fíjate en esta línea:

1
n=((0.3 * i) + (0.3 * r) + (0.3 * e))/0,9


Cuidado con usar la coma de separador decimal "0,9", por tanto, al entrar en esa parte de la condición daría error. Con la coma en Python estás indicando una tupla.

Para solucionar el error de concatenación, es muy recomendado usar format:

1
print ("N° Alumno: {} sección: {} promedio:{}".format(a,b,n))

Aquí tienes varios ejemplos y su uso:

https://docs.python.org/3.1/library/string.html#format-examples
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar