Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Problema con ejercicio

Estas en el tema de Problema con ejercicio en el foro de Python en Foros del Web. Buenas, mi nombre es Diego y soy de Uruguay.... Gracias por brindar este atractivo espacio de información... Hace unos días que ando por python, lo ...
  #1 (permalink)  
Antiguo 05/04/2013, 13:18
Avatar de dcaraballo  
Fecha de Ingreso: abril-2013
Ubicación: San José
Mensajes: 13
Antigüedad: 11 años
Puntos: 2
Pregunta Problema con ejercicio

Buenas, mi nombre es Diego y soy de Uruguay....
Gracias por brindar este atractivo espacio de información...

Hace unos días que ando por python, lo estoy haciendo autodidacta, me interesa y me está gustando mucho.

Les paso el problema que tuve con el ejercicio por si alguno me lo puede explicar.

El ejercicio es un juego: donde el usuario ingresará un número del 0 al 50 y el programa responderá si acertó o erro.
import random

Código Python:
Ver original
  1. def juego():
  2.     numero_intentos = 1
  3.     azar = random.randrange(0, 51)
  4.     print ("Bienvenido al primero JUEGO")
  5.     while True:
  6.         print ("Ingrese un número del 0 al 50")
  7.         intento = input(">>>")
  8.         if int(intento) == int(azar): #Esto es lo que ponía antes y me daba error (intento == azar:)
  9.             break
  10.         if int(intento) < int(azar): #Esto es lo que ponía antes y me daba error (intento < azar:)
  11.             print ("El número que usted elegió es menor")
  12.         if int(intento) > int(azar): #Esto es lo que ponía antes y me daba error (intento > azar:)
  13.             print ("El número que usted elegió es mayor")
  14.         numero_intentos += 1
  15.     print ("CORRECTO")
  16.     print ("El número de intentos fue: ", numero_intentos)
  17.     input("Presione una tecla para continuar....")
  18.  
  19. juego()

Entiendo muy bien la lógica del programa, lo que no entiendo porque me tiraba error con las variables. Por lo que tengo entendido python declara el tipo de variables según lo ingresado.
En este caso el tipo de dato es entero.

Gracias desde ya... un saludo grande
  #2 (permalink)  
Antiguo 05/04/2013, 13:46
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Problema con ejercicio

Primero voy aclarar que estas usando python 3.x

Segundo te tiraba error por que estabas mezclando tipos de datos, por ejemplo comparando "12" > 10 te va a dar error. Esto no es PHP o JS donde los tipos de datos los convierte de manera implícita.

En python 3.x input regresa siempre un string entonces tienes que convertir ese string a un entero.

Aquí tu código sin usar tanto int

Código Python:
Ver original
  1. import random
  2. def juego():
  3.     numero_intentos = 1
  4.     azar = random.randrange(0, 51)
  5.     print ("Bienvenido al primero JUEGO")
  6.     while True:
  7.         print ("Ingrese un número del 0 al 50")
  8.         intento = int(input(">>>"))
  9.         if intento == azar: #Esto es lo que ponía antes y me daba error (intento == azar:)
  10.             break
  11.         if intento < azar: #Esto es lo que ponía antes y me daba error (intento < azar:)
  12.             print ("El número que usted elegió es menor")
  13.         if intento > azar: #Esto es lo que ponía antes y me daba error (intento > azar:)
  14.             print ("El número que usted elegió es mayor")
  15.         numero_intentos += 1
  16.     print ("CORRECTO")
  17.     print ("El número de intentos fue: ", numero_intentos)
  18.     input("Presione una tecla para continuar....")
  19.  
  20. juego()
  #3 (permalink)  
Antiguo 05/04/2013, 14:23
Avatar de dcaraballo  
Fecha de Ingreso: abril-2013
Ubicación: San José
Mensajes: 13
Antigüedad: 11 años
Puntos: 2
Respuesta: Problema con ejercicio

Excelente...

Estoy usando la última versión de Python... no se si es bueno o malo. He visto que muchos usan versiones anteriores....

Gracias Razpeitia ... Me queda mas claro....
  #4 (permalink)  
Antiguo 05/04/2013, 15:06
 
Fecha de Ingreso: mayo-2012
Ubicación: Mexico
Mensajes: 82
Antigüedad: 11 años, 11 meses
Puntos: 7
Respuesta: Problema con ejercicio

Por lo que existe Python 2.X y 3.X, existe un grado de diferencia en sintaxis la una de la otra. Como dice nuestro amigo Razpeitia no es necesario definir los tipos de datos en Python, algo que te puede ayudar es usar el modulo type().

Saludos.

Etiquetas: ejercicio, mac
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:01.