[Python] Ordenar palabras

Iniciado por Meta, 6 Octubre 2010, 19:19 PM

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

Canariolp21

Buenas noches Meta, yo lo he hecho de esta manera, espero te sirva.
# -*- coding: ISO-8859-1 -*-
#         Codificacion de caracteres. Al tener el programa caracteres no ASCII
#         hace falta indicarle el tipo de codificacion empleado.
#Programa:   Ejercicio_10.py
#Proposito.- Programa que lee 5 palabras y dice cual es la menor de ellas.
#            No se aceptan que las Mayúsculas sean menores que las Minúsculas.
#Autor:      Luis Alberto Rouco Ramirez
#Fecha:      15 de Ocubre de 2010

# Importar librerias del sistema
import os

# Declarar variables
sistema = (os.name)
       
if sistema=="nt":
    os.system("cls")
else:
    os.system("clear")
           
#Introduccion del numero y extraccion del primer caracter
letra1=raw_input("Escribe la primera palabra: ")
letra1_1=letra1.lower()
letra2=raw_input("Escribe la segunda palabra: ")
letra2_1=letra2.lower()
letra3=raw_input("Escribe la tercera palabra: ")
letra3_1=letra3.lower()
letra4=raw_input("Escribe la cuarta palabra: ")
letra4_1=letra4.lower()
letra5=raw_input("Escribe la quinta palabra: ")
letra5_1=letra5.lower()
       
#CONDICION PARA QUE NO SE PONGA OTRA COSA QUE NO SEA UNA PALABRA Y RESOLUCIÓN

if letra1_1<letra2_1:
    palabra_final=letra1
else:
    palabra_final=letra2
if palabra_final<letra3_1:
    palabra_final=palabra_final
else:
    palabra_final=letra3
if palabra_final<letra4_1:
    palabra_final=palabra_final
else:
    palabra_final=letra4
if palabra_final<letra5_1:
    palabra_final=palabra_final
else:
    palabra_final=letra5
   
print 'La palabra mas chica es: ' + palabra_final
print 'Gracias por usar este programa. Pulse una tecla para salir.'
raw_input()
quit()


Un Saludo

Meta

Menudo trabajo. Gracias, lo voy a probar bajo Linux, porque el tuyo parece hecho con Windows.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Shell Root

Porque dices que parece que estuviera en WIN$?
Por eso verifica el S.O y ejecuta comando.

Código (python,16,17,18,19) [Seleccionar]
# -*- coding: ISO-8859-1 -*-
#         Codificacion de caracteres. Al tener el programa caracteres no ASCII
#         hace falta indicarle el tipo de codificacion empleado.
#Programa:   Ejercicio_10.py
#Proposito.- Programa que lee 5 palabras y dice cual es la menor de ellas.
#            No se aceptan que las Mayúsculas sean menores que las Minúsculas.
#Autor:      Luis Alberto Rouco Ramirez
#Fecha:      15 de Ocubre de 2010

# Importar librerias del sistema
import os

# Declarar variables
sistema = (os.name)
       
if sistema=="nt":
    os.system("cls")
else:
    os.system("clear")
           
#Introduccion del numero y extraccion del primer caracter
letra1=raw_input("Escribe la primera palabra: ")
letra1_1=letra1.lower()
letra2=raw_input("Escribe la segunda palabra: ")
letra2_1=letra2.lower()
letra3=raw_input("Escribe la tercera palabra: ")
letra3_1=letra3.lower()
letra4=raw_input("Escribe la cuarta palabra: ")
letra4_1=letra4.lower()
letra5=raw_input("Escribe la quinta palabra: ")
letra5_1=letra5.lower()
       
#CONDICION PARA QUE NO SE PONGA OTRA COSA QUE NO SEA UNA PALABRA Y RESOLUCIÓN

if letra1_1<letra2_1:
    palabra_final=letra1
else:
    palabra_final=letra2
if palabra_final<letra3_1:
    palabra_final=palabra_final
else:
    palabra_final=letra3
if palabra_final<letra4_1:
    palabra_final=palabra_final
else:
    palabra_final=letra4
if palabra_final<letra5_1:
    palabra_final=palabra_final
else:
    palabra_final=letra5
   
print 'La palabra mas chica es: ' + palabra_final
print 'Gracias por usar este programa. Pulse una tecla para salir.'
raw_input()
quit()
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

facu_m

#13
yo hice lo siguiente.creo que es la manera mas facil utilizando la funcion lower para que todas las palabras esten siempre en minuscula

Código (python) [Seleccionar]
a = raw_input ('dame la primera palabra: ')
b = raw_input ('dame la segunda palabra: ')
c = raw_input ('dame la tercera palabra: ')
d = raw_input ('dame la cuarta palabra: ')
e = raw_input ('dame la quinta palabra: ')

a = a.lower()
b = b.lower()
c = c.lower()
d = d.lower()
e = e.lower()
if a == ' ' or b == ' ' or c == ' ' or d == ' ' or e == ' ' :
 print ' uno de los caracteres no es una palabra '
 
elif a < b and a < c and a < d and a < e :
 print ' La menor es ' , a
 
elif b < a and b < c and b < d and b < e :
 print ' La menor es ' , b
 
elif c < a and c < b and c < d and c < e :
 print ' La menor es ' , c
 
elif d < a and d < c and d < c and d < e :
 print ' La menor es ' , d
 
elif e < a and e < b and e < c and e < d :
 print ' La menor es ' , e