No se puede obtener raw_input para devolver un número

print "How old are you?", age = raw_input() print "How tall are you in inches?", height = raw_input() print "How much do you weigh in pounds", weight = raw_input() print "So, you are %r years old, %r inches tall, and %d kilograms." % ( age, height, weight / 2.2) 

Así que soy nuevo en el código y este es mi código. Cuando uso el terminal para comstackrlo, obtengo esto:

 How old are you? 1 How tall are you in inches? 1 How much do you weigh in pounds 1 Traceback (most recent call last): File "ex11.py", line 9, in  age, height, weight / 2.2) TypeError: unsupported operand type(s) for /: 'str' and 'float' 

¿Puede alguien explicarme por favor lo que hice mal?

raw_input siempre devuelve un objeto de cadena. Debe convertirlo explícitamente en un objeto numérico si planea usarlo como tal (realice operaciones matemáticas en él):

 weight = int(raw_input()) #or weight = float(raw_input()) 

Use int si el número siempre será un número entero. De lo contrario, use float si la entrada puede tener una parte decimal como 10.1 .

raw_input() devuelve una string . Necesitarás lanzar tu weight para flotar:

 weight = float(weight) 

O en una línea:

 weight = float(raw_input())