Foros del Web » Programando para Internet » Python »

Pregunto nombre y edad y el programita no me funciona

Estas en el tema de Pregunto nombre y edad y el programita no me funciona en el foro de Python en Foros del Web. #Hola soy Robert Gomez. Este es mi primer programa en Python """ En este programita simple, explicare paso por paso cada linea, de esa manera ...
  #1 (permalink)  
Antiguo 07/07/2012, 06:37
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 16 años
Puntos: 5
Pregunto nombre y edad y el programita no me funciona

#Hola soy Robert Gomez. Este es mi primer programa en Python

""" En este programita simple,
explicare paso por paso cada linea,
de esa manera todos empezaran la fiebre. """

print ('Hola, soy Robert Gomez.\nPuedes decirme tu nombre?')
nombre = input ()
print ('Gracias ' + nombre + '. Ahora puedo preguntarte tu edad?.')
edad = input ()

if edad < 18:
print ('Entonces tienes ' + edad + ' y eres menor de edad.')

else:
print ('Entonces tienes ' + edad + ' y eres mayor de edad.')


Es mi primera vez que programo en python, podrian ayudarme?
  #2 (permalink)  
Antiguo 07/07/2012, 07:31
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 10 meses
Puntos: 35
Respuesta: Pregunto nombre y edad y el programita no me funciona

En python no se usan llaves {} para encerrar bloques de código sino que se usan las tabulaciones o espacios. El input devuelve un string por lo que debes convertirlo a entero para compararlo con el número 18.
Por último, supongo que debes estar usando python 3.x ya que usas print como una función. De lo contrario deberias usar print "Hola" en lugar de print("Hola"). Tu código debería verse así:

Código Python:
Ver original
  1. print ('Hola, soy Robert Gomez.\nPuedes decirme tu nombre?')
  2. nombre = raw_input()
  3. print ('Gracias ' + nombre + '. Ahora puedo preguntarte tu edad?.')
  4. edad = raw_input()
  5.  
  6. if int(edad) < 18:
  7.     print ('Entonces tienes ' + edad + ' y eres menor de edad.')
  8. else:
  9.     print ('Entonces tienes ' + edad + ' y eres mayor de edad.')
  10.    
  11. raw_input() # Enter para finalizar el programa
  #3 (permalink)  
Antiguo 07/07/2012, 08:06
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 16 años
Puntos: 5
Respuesta: Pregunto nombre y edad y el programita no me funciona

Hola, uso la ultima version 3.2.3.
Me sigue marcando error, esta vez me dice: unexpected indent

y me sale rojo el if, que hago?
  #4 (permalink)  
Antiguo 07/07/2012, 08:40
Avatar de mcun  
Fecha de Ingreso: octubre-2010
Ubicación: tras la pantalla
Mensajes: 466
Antigüedad: 14 años, 1 mes
Puntos: 55
Respuesta: Pregunto nombre y edad y el programita no me funciona

Esa excepción significa que el código esta mal indentado,como te indica carbon e la primera linea de su comentario, debes indentar el código correctamente.

Eso significa que debes usar la misma cantidad de espacios en todo el código para
definir los bloques.

busca el manual python para todos y léelo con atención, allí esta todo detallado
  #5 (permalink)  
Antiguo 07/07/2012, 10:16
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 16 años
Puntos: 5
Respuesta: Pregunto nombre y edad y el programita no me funciona

Hola, no tengo espacios en ninguno y ahora me sale en rojo el printf, podrian decirme cual es el error?, no se mucho de python.
  #6 (permalink)  
Antiguo 07/07/2012, 10:20
Avatar de mcun  
Fecha de Ingreso: octubre-2010
Ubicación: tras la pantalla
Mensajes: 466
Antigüedad: 14 años, 1 mes
Puntos: 55
Respuesta: Pregunto nombre y edad y el programita no me funciona

ya te lo dijimos, estas indentando mal, ¿ no sabes que es indentar ? por favor lee el libo
que te recomendé allí esta todo o busca en google indentar en python.

Has tu el esfuerzo de estudiar lo que te corresponde estudiar para poder programar o
desiste de programar.
  #7 (permalink)  
Antiguo 07/07/2012, 10:38
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 16 años
Puntos: 5
Respuesta: Pregunto nombre y edad y el programita no me funciona

Hola, ya entendi eso de tabulaciones, tengo esto:

Código:
print ('Hola, soy Robert Gomez.\nPuedes decirme tu nombre?')
nombre = input()
print ('Gracias ' + nombre + '. Ahora puedo preguntarte tu edad?.')
edad = input()
if int(edad) < 18:
    print ('Entonces tienes ' + edad + ' y eres menor de edad.')
else:
    print ('Entonces tienes ' + edad + ' y eres mayor de edad.')
raw_input()
Use input porque cuando pongo raw_, marca error y tampoco se colorea morado. El nombre lo pide correctamente pero la edad al entrar el numero sale error, alguna idea, me falta algo para entrar un entero?.

Última edición por razpeitia; 07/07/2012 a las 11:53
  #8 (permalink)  
Antiguo 07/07/2012, 10:43
Avatar de mcun  
Fecha de Ingreso: octubre-2010
Ubicación: tras la pantalla
Mensajes: 466
Antigüedad: 14 años, 1 mes
Puntos: 55
Respuesta: Pregunto nombre y edad y el programita no me funciona

ya respondimos a esa pregunta, ¿ por que no lees las respuestas ? ¿ para que preguntas si no lees lo que te contestamos ?
  #9 (permalink)  
Antiguo 07/07/2012, 11:06
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 16 años
Puntos: 5
Respuesta: Pregunto nombre y edad y el programita no me funciona

yo hize lo que ustedes dijeron, int, hay mostre el codigo que tengo pero no me funciona.
  #10 (permalink)  
Antiguo 07/07/2012, 11:56
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Pregunto nombre y edad y el programita no me funciona

Código Python:
Ver original
  1. print ('Hola, soy Robert Gomez.\nPuedes decirme tu nombre?')
  2. nombre = input()
  3. print ('Gracias ' + nombre + '. Ahora puedo preguntarte tu edad?.')
  4. edad = input()
  5. if int(edad) < 18:
  6.     print ('Entonces tienes ' + edad + ' y eres menor de edad.')
  7. else:
  8.     print ('Entonces tienes ' + edad + ' y eres mayor de edad.')
Probe este codigo y me funciono de maravilla.

¿Que error te marca? ¿Lo estas ejecutando directamente de la terminal interactiva o estas haciendo tu archivo y luego lo corres?
  #11 (permalink)  
Antiguo 07/07/2012, 12:10
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 16 años
Puntos: 5
Respuesta: Pregunto nombre y edad y el programita no me funciona

Gracias hermano, me funciona, al parecer tenia un espacio de mas en un print, python es super jodon con los espacios.
  #12 (permalink)  
Antiguo 07/07/2012, 12:43
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Pregunto nombre y edad y el programita no me funciona

Es por que te enseña a escribir código de la manera correcta.
  #13 (permalink)  
Antiguo 07/07/2012, 17:49
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 10 meses
Puntos: 35
Respuesta: Pregunto nombre y edad y el programita no me funciona

Si lees las descripciones de los errores... creo que son bastante claras. Podrías solucionar los errores rapidamente!
  #14 (permalink)  
Antiguo 09/07/2012, 07:20
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Pregunto nombre y edad y el programita no me funciona

Cita:
Iniciado por RGT Ver Mensaje
Gracias hermano, me funciona, al parecer tenia un espacio de mas en un print, python es super jodon con los espacios.
Cuando tu única forma de delimitar bloques es el sangrado, es obvio que tendrá que ser correcto. Es como si te quejaras de que "PHP es super jodon con las llaves".

Nunca mezcles tabuladores con espacios simples, y configura correctamente tu editor (esto deberías hacerlo en cualquier lenguaje que uses, ¡que el entorno es tan importante como el lenguaje mismo!) para que utilice espacios o tabuladores, pero no ambos. Si te suceden estos problemas, prueba hacer que el editor te marque los caracteres invisibles: al marcar espacios y tabuladores de forma diferente, hace obvios esta clase de problemas.

Regla general: si un trozo de código se ve correcto, pero python se queja de que está mal el sangrado, el problema es que hay espacios mezclados con tabuladores.


Saludos.

Etiquetas: edad, nombre, programa
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 09:14.