Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: Tuplado en 13 Enero 2012, 13:52 PM

Título: maximo de 5 numeros (PYTHON)
Publicado por: Tuplado en 13 Enero 2012, 13:52 PM
HOLA A TODOS ESTOY INENTANDO HACER UN PROGRAMA QUE ME CALCULE EL NUMERO MAYOR DE 5 NUMEROS INGRESADOS.

LO TG ASI PERO NO ME DA.

Código (python) [Seleccionar]
# Datos ingresados por consola
numero1=int(input("Ingresa el primer numero:"))
numero2=int(input("Ingresa el segundo numero:"))
numero3=int(input("Ingresa el tercer numero:"))
numero4=int(input("Ingresa el cuarto numero:"))
numero5=int(input("Ingresa el quinto numero:"))

# Comparar numeros y vera cual es el mayor
mayor=numero5

if numero5 < numero1:
   mayor=numero1

   if numero5 < numero2:
       mayor=numero2

       if numero5 < numero3:
           mayor=numero3

           if numero5 < numero4:
               mayor=numero4
else:
   mayor=numero5
   if numero4 < numero3:
       mayor=numero3

       if numero4 < numero2:
           mayor=numero2

           if numero4 < numero1:
               mayor=numero1

   else:
       mayor=numero4
       if numero3 < numero2:
           mayor=numero2
           if numero3 < numero1:
               mayor=numero1

       else:
           mayor=numero3
           if numero2 < numero1:
               mayor=numero1
           else:
               mayor=numero2


print ("El numero mayor es",mayor)
Título: Re: maximo de 5 numeros (PYTHON)
Publicado por: H1jack en 15 Enero 2012, 16:28 PM
Lo puedes meter en un array y utilizar la función max, por ejemplo:

Código (python) [Seleccionar]
max([1,4,2,5,3])

devuelve 5
Título: Re: maximo de 5 numeros (PYTHON)
Publicado por: Tuplado en 15 Enero 2012, 19:58 PM
Ya me funciona

Código (python) [Seleccionar]
## Datos ingresados por consola
numero1=int(input("Ingresa el primer numero:"))
numero2=int(input("Ingresa el segundo numero:"))
numero3=int(input("Ingresa el tercer numero:"))
numero4=int(input("Ingresa el cuarto numero:"))
numero5=int(input("Ingresa el quinto numero:"))

## Se van realizando las comparaciones y se crea una variable donde van metidos los datos
candidato=numero1

## Se compara el numero1 con los demas numeros
if numero5 < candidato:
   if numero4 < candidato:
       if numero3 < candidato:
           if numero2 < candidato:
               maximo=candidato ## Si los demas numeros son menores el mayor es el numero1

else: ## Si no es mayor el numero1, se va comparado el numero2 con los demas.
   candidato=numero2
   if numero3 < candidato:
       if numero4 < candidato:
           if numero5 < candidato:
               maximo=candidato ## Si los demas numeros son menores el mayor es el numero2

   else: ## Si no es mayor el numero2, se va comparado el numero3 con los demas.
       candidato=numero3
       if numero4 < candidato:
           if numero5 < candidato:
               maximo=candidato ## Si los demas numeros son menores el mayor es el numero3

       else: ## Si no es mayor el numero3, se va comparado el numero4 con los demas.
           candidato=numero4
           if numero5 < candidato:
               maximo=candidato ## Si los demas numeros son menores el mayor es el numero4

           else: ## Si no es mayor el numero4, se va comparado el numero5 con los demas.
               maximo=numero5 ## Si los demas numeros son menores el mayor es el numero5


## Imprimimos en pantalla todos los numeros ingresados
print (numero1,numero2,numero3,numero4,numero5)
print ()
## Se imprime en pantalla el numero maximo
print ("El numero maximo es", maximo)

-------------------------------------------------------------------------------------------------

Si ya esa seria la manera mas rapida y menos engorrosa pero es que el profesor lo quiere sin funciones globales



De todos modos muchas gracias por tu ayuda
Título: Re: maximo de 5 numeros (PYTHON)
Publicado por: fallout20xx en 19 Enero 2012, 11:16 AM
era mas elegante lo que dijo H1jack, asi queda feo feo
Título: Re: maximo de 5 numeros (PYTHON)
Publicado por: El_Java en 22 Enero 2012, 20:06 PM
¿Y no es más sencillo poner algo de este estilo?
Código (python) [Seleccionar]
print max(map(int, raw_input("Ingresa 5 numeros en la misma linea:\n").split()))

Un saludo!
Título: Re: maximo de 5 numeros (PYTHON)
Publicado por: criskapunk en 23 Enero 2012, 02:29 AM
Otra manera de hacerlo utilizando condicionales:

Código (python) [Seleccionar]
_1 = int(raw_input("Primer numero: "))
maximo = _1
_2 = int(raw_input("Segundo numero: "))
if _2 > maximo: maximo = _2
_3 = int(raw_input("Tercer numero: "))
if _3 > maximo: maximo = _3
_4 = int(raw_input("Cuarto numero: "))
if _4 > maximo: maximo = _4
_5 = int(raw_input("Quinto numero: "))
if _5 > maximo: maximo = _5
print maximo


Un saludo.
Título: Re: maximo de 5 numeros (PYTHON)
Publicado por: elflamas30 en 20 Junio 2018, 01:42 AM
Aquí va otro, a ver si está bien:
print u'Programa para la resolución del máximo de cinco números.'
print u'Escribe cero(0), para salir.'
while True:
   try:
      a = int(raw_input('Escribe el primer numero: '))
      b = int(raw_input('Escribe el segundo numero: '))
      c = int(raw_input('Escribe el tercer numero: '))
      d = int(raw_input('Escribe el cuarto numero: '))
      e = int(raw_input('Escribe el quinto numero: '))
      if a == 0:
         break
      if a > b and a > c and a > d and a > e:
         maximo = a
      else:
         if b > a and b > c and b > d and b > e:
            maximo = b
         else:
            if c > a and c > b and c > d and c > e:
               maximo = c
            else:
               if d > a and d > b and d > c and d > e:
                  maximo = d
               else:
                  maximo = e
      print u'El máximo es: {0}'.format(maximo)
   except ValueError:
      print u'No puedes dejar la entrada en blanco, ni escribir letras.'