maximo de 5 numeros (PYTHON)

Iniciado por Tuplado, 13 Enero 2012, 13:52 PM

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

Tuplado

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)

H1jack

#1
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

Tuplado

#2
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

fallout20xx

era mas elegante lo que dijo H1jack, asi queda feo feo
si disfrutas siempre que programas... significa que aun no has programado suficiente xD

El_Java

¿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!

criskapunk

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.

elflamas30

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