Foro de elhacker.net

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
  1. # Datos ingresados por consola
  2. numero1=int(input("Ingresa el primer numero:"))
  3. numero2=int(input("Ingresa el segundo numero:"))
  4. numero3=int(input("Ingresa el tercer numero:"))
  5. numero4=int(input("Ingresa el cuarto numero:"))
  6. numero5=int(input("Ingresa el quinto numero:"))
  7.  
  8. # Comparar numeros y vera cual es el mayor
  9. mayor=numero5
  10.  
  11. if numero5 < numero1:
  12.    mayor=numero1
  13.  
  14.    if numero5 < numero2:
  15.        mayor=numero2
  16.  
  17.        if numero5 < numero3:
  18.            mayor=numero3
  19.  
  20.            if numero5 < numero4:
  21.                mayor=numero4
  22. else:
  23.    mayor=numero5
  24.    if numero4 < numero3:
  25.        mayor=numero3
  26.  
  27.        if numero4 < numero2:
  28.            mayor=numero2
  29.  
  30.            if numero4 < numero1:
  31.                mayor=numero1
  32.  
  33.    else:
  34.        mayor=numero4
  35.        if numero3 < numero2:
  36.            mayor=numero2
  37.            if numero3 < numero1:
  38.                mayor=numero1
  39.  
  40.        else:
  41.            mayor=numero3
  42.            if numero2 < numero1:
  43.                mayor=numero1
  44.            else:
  45.                mayor=numero2
  46.  
  47.  
  48. print ("El numero mayor es",mayor)
  49.  


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
  1. 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
  1. ## Datos ingresados por consola
  2. numero1=int(input("Ingresa el primer numero:"))
  3. numero2=int(input("Ingresa el segundo numero:"))
  4. numero3=int(input("Ingresa el tercer numero:"))
  5. numero4=int(input("Ingresa el cuarto numero:"))
  6. numero5=int(input("Ingresa el quinto numero:"))
  7.  
  8. ## Se van realizando las comparaciones y se crea una variable donde van metidos los datos
  9. candidato=numero1
  10.  
  11. ## Se compara el numero1 con los demas numeros
  12. if numero5 < candidato:
  13.    if numero4 < candidato:
  14.        if numero3 < candidato:
  15.            if numero2 < candidato:
  16.                maximo=candidato ## Si los demas numeros son menores el mayor es el numero1
  17.  
  18. else: ## Si no es mayor el numero1, se va comparado el numero2 con los demas.
  19.    candidato=numero2
  20.    if numero3 < candidato:
  21.        if numero4 < candidato:
  22.            if numero5 < candidato:
  23.                maximo=candidato ## Si los demas numeros son menores el mayor es el numero2
  24.  
  25.    else: ## Si no es mayor el numero2, se va comparado el numero3 con los demas.
  26.        candidato=numero3
  27.        if numero4 < candidato:
  28.            if numero5 < candidato:
  29.                maximo=candidato ## Si los demas numeros son menores el mayor es el numero3
  30.  
  31.        else: ## Si no es mayor el numero3, se va comparado el numero4 con los demas.
  32.            candidato=numero4
  33.            if numero5 < candidato:
  34.                maximo=candidato ## Si los demas numeros son menores el mayor es el numero4
  35.  
  36.            else: ## Si no es mayor el numero4, se va comparado el numero5 con los demas.
  37.                maximo=numero5 ## Si los demas numeros son menores el mayor es el numero5
  38.  
  39.  
  40. ## Imprimimos en pantalla todos los numeros ingresados
  41. print (numero1,numero2,numero3,numero4,numero5)
  42. print ()
  43. ## Se imprime en pantalla el numero maximo
  44. print ("El numero maximo es", maximo)
  45.  
-------------------------------------------------------------------------------------------------

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
  1. 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
  1. _1 = int(raw_input("Primer numero: "))
  2. maximo = _1
  3. _2 = int(raw_input("Segundo numero: "))
  4. if _2 > maximo: maximo = _2
  5. _3 = int(raw_input("Tercer numero: "))
  6. if _3 > maximo: maximo = _3
  7. _4 = int(raw_input("Cuarto numero: "))
  8. if _4 > maximo: maximo = _4
  9. _5 = int(raw_input("Quinto numero: "))
  10. if _5 > maximo: maximo = _5
  11. 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.'