[Python] - Introducir nñumeros positivos y negativos se acaba

Iniciado por Meta, 21 Octubre 2010, 18:02 PM

0 Miembros y 1 Visitante están viendo este tema.

Meta

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) [Seleccionar]
# Variables.
comienzo = 0
fin = 100
# Introducir datos a la variable.
numero = int(raw_input("introduce un número: "))

for i in range(comienzo, fin):
   if numero > 0:
       print 'El número', numero,  'es positivo.'
       break
   else:
       print 'El número', numero, 'es negativo.'
       break


Me parece que hay que usar While y sigo investigando.

Código (python) [Seleccionar]
# Variables.
comienzo = 0
fin = 100
# Introducir datos a la variable.
numero = int(raw_input("introduce un número: "))

while numero < 0:
   for i in range(comienzo, fin):
       if numero > 0:
           print 'El número', numero,  'es positivo.'
           break
       else:
           print 'El número', numero, 'es negativo.'
           break


Me sale un bucle infinito cuando introduzco un número negativo, y positivo no hace nada.

Supuestamente hay que hacer algo de esto:

- 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.


Por lo que entiendo es alg así.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Karcrack

Código (python) [Seleccionar]
while True:
x = int(raw_input("Dame un numero:"))
if (x < 0):
break;
print x

Meta

Código (python) [Seleccionar]
while True:
x = int(raw_input("Dame un numero:"))
if (x < 0):
break;
print x
print 'Has introducido un número negativo.'
print 'Haz salido del bucle.'


Ya me funciona. Muchas gracias. ;)
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Meta

#3
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?

Ojo, hay que hacerlo con el bucle for in, no se si el while también entrará en acción.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Karcrack

#4
Simplemente has de hacer un bucle infinito (While True) e ir comprobando si el numero actual es mayor que el guardado...

Aqui tienes:
Código (Python) [Seleccionar]
max = 0
while True:
n = int(raw_input("Dame un numero positivo:"))
if (n > max):
max = n
if (n < 0):
break;

print "Numero negativo."
print "El numero maximo fue:",max
print "Adios"

Meta

Cita de: Karcrack en 22 Octubre 2010, 11:42 AM
Simplemente has de hacer un bucle infinito (While True) e ir comprobando si el numero actual es mayor que el guardado...

Aqui tienes:
Código (Python) [Seleccionar]
max = 0
while True:
n = int(raw_input("Dame un numero positivo:"))
if (n > max):
max = n
if (n < 0):
break;

print "Numero negativo."
print "El numero maximo fue:",max
print "Adios"


Lo intenté ahcer así pero no me salía. jejeje.

Código (python) [Seleccionar]
mayor = 0
while True:
x = int(raw_input('Escribe un número: '))
if (x < 0):
break
print x
        numero_mayor = x
        if x > mayor:
            numero_mayor = mayor

print 'Has introducido el número', x, 'negativo.'
print numero_mayor
print 'Gracias por usar este programa.'
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Shell Root

No entiendo las siguientes lineas,
Código (python,7,9) [Seleccionar]
mayor = 0
while True:
   x = int(raw_input('Escribe un número: '))
   if (x < 0):
       break
   print x
       numero_mayor = x
       if x > mayor:
           numero_mayor = mayor

print 'Has introducido el número', x, 'negativo.'
print numero_mayor
print 'Gracias por usar este programa.'


Linea 7, 9 Para que igualas las variables?. Como lo hizo @Karcrack esta bien.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Meta

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Canariolp21

Mira a ver si te gusta esta:

# -*- coding: ISO-8859-1 -*-
#         Codificacion de caracteres. Al tener el programa caracteres no ASCII
#         hace falta indicarle el tipo de codificacion empleado.
#Programa:   Ejercicio_11.py
#Proposito.- Programa que lee todos los numeros positivos que introducimos por
#            el teclado y finaliza cuando introducimos un numero negativo.
#Autor:      Luis Alberto Rouco Ramirez
#Fecha:      03 de Noviembre de 2010

# Importar librerias del sistema
import os

# Declarar variables e inicializarlas
sistema = (os.name)
contador=0

while True:
   
    try:
       
        if sistema=="nt":
            os.system("cls")
        else:
            os.system("clear")
           
        #Introduccion del numero
        numero=int(raw_input('Introduce un numero: '))
        for n in [numero]:
            if n<0:
                print 'Fin del programa'
                raw_input()
                quit()
           
    except ValueError:
        for i in [1]:
            contador=contador+i
            #print 'Contador vale', contador
            if contador <3:
                print 'Debe introducir un numero entero.'
                raw_input()
            else:
                print 'Eres bobo, que pasa que no viste Barrio Sesamo de pequenio...'
                raw_input()
                quit()
            break


Canariolp21

Aqui va otro.

Éste es igual al anterior, con la salvedad de que al finalizar el programa dice cual es el número mayor de los introducidos.

# -*- coding: ISO-8859-1 -*-
#         Codificacion de caracteres. Al tener el programa caracteres no ASCII
#         hace falta indicarle el tipo de codificacion empleado.
#Programa:   Ejercicio_12.py
#Proposito.- Haz un programa que vaya leyendo números hasta que el usuario
#            introduzca un número negativo. En ese momento, el programa
#            mostrará por pantalla el número mayor de cuantos ha visto.
#Autor:      Luis Alberto Rouco Ramirez
#Fecha:      03 de Noviembre de 2010

# Importar librerias del sistema
import os

# Declarar variables e inicializarlas
sistema = (os.name)
contador=0
mayor=0

# Se pone dentro de un bucle While True para que en caso de que se ponga un
# cualquier cosa que no sea un numero, vaya a la excepción.
while True:
   
    try:
       
        if sistema=="nt":
            os.system("cls")
        else:
            os.system("clear")
           
        #Introduccion del numero
        numero=int(raw_input('Introduce un numero: '))
        for n in [numero]:
            if n>mayor:
                mayor=n
            else:
                mayor=mayor
            #print mayor
            if n<0:
                print 'El mayor de los numeros introducidos es', mayor
                print 'Fin del programa'
                raw_input()
                quit()
         
    except ValueError:
        for i in [1]:
            contador=contador+i
            #print 'Contador vale', contador
            if contador <3:
                print 'Debe introducir un numero entero.'
                raw_input()
            else:
                print 'Eres bobo, que pasa que no viste Barrio Sesamo de pequenio...'
                raw_input()
                quit()
            break