Python si la sentencia no funciona correctamente

Soy un usuario de Python muy nuevo (2.7) y he estado trabajando en el curso Learn Python The Hard Way hasta el capítulo 37 y decidí leer algunos otros materiales de aprendizaje y repasar los conceptos básicos nuevamente y hacer ejercicios allí. He estado leyendo esto:

http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/ifstatements.html

y acabo de hacer esto:

3.1.4.1. Ejercicio de posgrado
Escriba un progtwig, graduate.py, que solicite a los alumnos la cantidad de créditos que tienen. Imprimir si de no tienen suficientes créditos para la graduación. (En la Universidad de Loyola, Chicago, se necesitan 120 créditos para graduarse).

y este es mi código para eso:

print "How many credits do you currently have: " credits = raw_input("> ") if credits >= 120: print "You have graduated!" else: print "Sorry not enough credits" 

pero no importa qué número lo ingrese, solo da “Lo siento, no hay suficientes créditos” como respuesta, ¿por qué? He intentado mover algunas cosas y hacerlas> en lugar de> = pero nada funcionó. Estoy seguro de que esto es algo estúpidamente simple. Falta, pero no puedo resolverlo.

He hecho varios otros ejercicios de afirmación en el curso LPTHW similares a este y nunca tuve un problema.

raw_input() devuelve una cadena:

 >>> credits = raw_input("> ") > 150 >>> type(credits)  

Necesitas lanzarlo a int :

 credits = int(raw_input("> ")) 

En su código, en la sentencia if está comparando un tipo str con un tipo int . así que no está funcionando como usted esperaba. Emitir el credit como int

 print "How many credits do you currently have: " credits = raw_input("> ") credits = int(credits) if credits >= 120: print "You have graduated!" else: print "Sorry not enough credits"