Ver Mensaje Individual
  #8 (permalink)  
Antiguo 24/04/2012, 09:39
Avatar de nanotime
nanotime
 
Fecha de Ingreso: noviembre-2011
Ubicación: Cd. Guayana
Mensajes: 145
Antigüedad: 12 años, 6 meses
Puntos: 6
Respuesta: Error de codificación en un programa pequeño

Bueno leyendo lo que me dijeron y que un amigo me ayudó, pude acomodar el código para que funcionara, fuese mucho mas simple y quedara así:

Código Python:
Ver original
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import random
  4.  
  5. def ganar_perder (numero_ing):
  6.     separador = '='*100
  7.     if numero_ing == numero:
  8.         print 'Usted ha ganado %d puntos ¡Felicidades, acaba de ser ridiculamente afortunado!'%(premio_neto)
  9.     elif numero%7==0:
  10.         print separador
  11.         print '¡Wow hay que tener suerte para que el numero sorteado sea multiplo de 7, te ganaste: %d puntos!'%(premio_total)
  12.         print separador
  13.     else:
  14.         print 'Uy, tienes una suerte de perro, no coincide, no es multiplo, y ¿A que no adivinas? ¡No ganas nada!'
  15.         print separador
  16.  
  17.  
  18. numero = random.randint(0,500)
  19. premio_neto = random.randint(100,2000)
  20. premio_total = premio_neto*50/100
  21. separador = '='*100
  22. print '¡Bienvenido al juego mas tonto que existe, en el que sus posibilidades de ganar son minimas!\n El juego consiste en el sorteo de un numero al azar\n usted introduce un numero, si este coincide se lleva todo el premio\n si el numero sorteado es multiplo de 7 usted se lleva la mitad del premio\n pero si no coincide el numero o no es multiplo, pierde'
  23. print separador
  24. numero_ing = int(raw_input('Ingrese un numero: ')) 
  25. print 'Bien, ha ingresado el numero: %d \n El numero sorteado es: %d \n Y el premio es: %d'%(numero_ing, numero, premio_neto)
  26. print separador
  27. ganar_perder(numero_ing)

La clase no tenia sentido y una de las funciones tampoco, bastaba solo con una función que validara ganar o perder.

Ahora quiero ampliar un poquito el programa, quiero validar que lo que el usuario introduzca sea un número entero comprendido entre 0 y 500. Ya se como frenarlo si es mayor a 500 pero no se como validar si es un numero entero.

Gracias por la ayuda