Buen día Gandalf Empire,
Este código lo encontré en la documentación de python en la página que habla sobre el "manejo de errores". Había puesto la página, pero el foro todavía no me deja insertar links :-(
while True:
try:
x = int(raw_input("Please enter a number: "))
break
except ValueError:
print "Oops! That was no valid number. Try again..."
La idea es la siguiente, el cast lo hacés diréctamente cuando estás tomando los valores que ingresa el usuario por pantalla.
Y por medio del "try: --> except" estás atrapando el error de tipo "ValueError", que es justamente el tipo de error que va a tirar el código si el usuario ingresa un valor que no puede ser convertido a int.
Si no estás muy ducho con el manejo de errores en python, la documentación oficial de python te puede ayudar. Nuevamente, pido disculpas por no poder insertar el link, pero, me imagino será un tema de seguridad del foro, así que . . no me quejo ;-)
Espero que te sirva.
Saludos,
Rive.