Foros del Web » Programando para Internet » Python »

Introducir nñumeros positivos y negativos se acaba

Estas en el tema de Introducir nñumeros positivos y negativos se acaba en el foro de Python en Foros del Web. Que vaya leyendo números y mostrarlos por pantalla hasta que la persona introduzca un número negativo. En ese momento, el programa mostrará un mensaje de ...
  #1 (permalink)  
Antiguo 21/10/2010, 09:50
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 17 años
Puntos: 8
Introducir nñumeros positivos y negativos se acaba

Que vaya leyendo números y mostrarlos por pantalla hasta que la persona introduzca un número negativo. En ese momento, el programa mostrará un mensaje de despedida y finalizará su ejecución.

Código Python:
Ver original
  1. # Variables.
  2. comienzo = 0
  3. fin = 100
  4. # Introducir datos a la variable.
  5. numero = int(raw_input("introduce un número: "))
  6.  
  7. for i in range(comienzo, fin):
  8.     if numero > 0:
  9.         print 'El número', numero,  'es positivo.'
  10.         break
  11.     else:
  12.         print 'El número', numero, 'es negativo.'
  13.         break

Me parece que hay que usar While y sigo investigando.

Edito:

Código Python:
Ver original
  1. # Variables.
  2. comienzo = 0
  3. fin = 100
  4. # Introducir datos a la variable.
  5. numero = int(raw_input("introduce un número: "))
  6.  
  7. while numero < 0:
  8.     for i in range(comienzo, fin):
  9.         if numero > 0:
  10.             print 'El número', numero,  'es positivo.'
  11.             break
  12.         else:
  13.             print 'El número', numero, 'es negativo.'
  14.             break

Me sale un bucle infinito cuando introduzco un número negativo, y positivo no hace nada.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar

Última edición por REHome; 21/10/2010 a las 10:00
  #2 (permalink)  
Antiguo 21/10/2010, 10:09
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: Introducir nñumeros positivos y negativos se acaba

Alguna vez haz leído los programas que haces? O por lo menos sabes lo que hacen? Los piensas antes de escribirlos?

Sabias que si no entiendes el libro, puedes usar youtube para ver tutoriales (En caso que no te guste leer)?

Trata de leer tus programas en voz alta mas o menos así:
Código Python:
Ver original
  1. # Variables.
  2. comienzo = 0 #Sea comienzo igual a cero
  3. fin = 100 #Sea fin igual a cien
  4. # Introducir datos a la variable.
  5. numero = int(raw_input("introduce un número: ")) #Sea numero un entero
  6.  
  7. for i in range(comienzo, fin): #Desde i = comienzo( 0 ) hasta fin - 1 (99) haz
  8.     if numero > 0: #Si numero mayor a cero haz
  9.         print 'El número', numero,  'es positivo.' #Imprime que es positivo
  10.         break #Salir del for
  11.     else:
  12.         print 'El número', numero, 'es negativo.' #Imprime que es negativo o cero
  13.         break #Salir del for
En tu codigo solo lees numero 1 vez, el for siempre se ejecuta una sola vez, por que ya sea que cumpla o no la condición te sales del for.

Cuando en realidad lo que quieres es:
Código:
leer numero
mientras numero mayor a cero haz
    imprimir numero
    leer numero
  #3 (permalink)  
Antiguo 21/10/2010, 10:25
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 17 años
Puntos: 8
Respuesta: Introducir nñumeros positivos y negativos se acaba

Por lo que entiendo...

Cita:
- Introduzca un número.
- Cada vez que introduzca un número positivo se va mostrando en pantalla y luego te pide que vuelvas a introducir otro número positivo.
- Si introduces un número negativo, muestra un mensaje de despedida y sales del programa.
Sigo investigando con tu consejo.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #4 (permalink)  
Antiguo 21/10/2010, 12:48
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Introducir nñumeros positivos y negativos se acaba

Cita:
Iniciado por REHome Ver Mensaje
Por lo que entiendo...
Si es así, lo único que le falta al pseudocódigo de razpeitia es la salida:

Código:
leer numero
mientras numero mayor a cero haz
    imprimir numero
    leer numero

imprime mensaje de despedida
Otra forma:
Código:
bucle ("while True")
    leer numero
    si numero mayor o igual que cero:
        imprimir numero
    si no
        imprimir mensaje
        salir del bucle (break)
  #5 (permalink)  
Antiguo 21/10/2010, 22:03
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 17 años
Puntos: 8
Respuesta: Introducir nñumeros positivos y negativos se acaba

Por lo que interpreto a tus explicaciones es:

Código Python:
Ver original
  1. while True: # Bucle para repetir el menú.
  2.     x = int(raw_input("Dame un numero:")) # Introduce un número.
  3.     if (x < 0): # Si es menor que 0...
  4.         break; # ... es decir, negativo, rompe el bucle.
  5.     print x # Muestra nº positivos en pantalla.
  6. print 'Has introducido un número negativo.' # Al salir del bucle muestra mensajes...
  7. print 'Haz salido del bucle.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #6 (permalink)  
Antiguo 22/10/2010, 00:08
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 17 años
Puntos: 8
Respuesta: Introducir nñumeros positivos y negativos se acaba

Otra cosa.



Dice que hay que introducir números positivos.
Al introducir un número negativo.
Muestra en pantalla el número mayor de lo que he introducido.

Parace que se va almanecando los números positivos, más bien el número mayor y último que he introducido.
El bucle se para cuando introduzca un número negativo.
Al final visualiza en pantalla, el número mayor que he estado introduciendo.

¿He entendido bien?
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #7 (permalink)  
Antiguo 22/10/2010, 00:12
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: Introducir nñumeros positivos y negativos se acaba

Si haz entendido bien.

Etiquetas: introducir
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 11:14.