Programación Web y Scripting > Python

 Unir Dos Funciones En Una

<< < (2/2)

sergio2:
bueno, ahi va el codigo
es mas largo, pero lo q busco esta ahi




class Recetas:

    def __init__(propio, nombre):
        propio.nombre_plato = nombre
        propio.ingredientes_solidos = []
        propio.ingredientes_liquidos = []


    def proporcionar_ingredientes_solidos (propio, solidos):
        propio.ingredientes_solidos.append(solidos)

    def proporcionar_ingredientes_liquidos (propio, liquidos):
        propio.ingredientes_liquidos.append(liquidos)


    def buscar_receta_con_ingredientes_liquidos (propio, ingrediente):
        for elemento in propio.ingredientes_liquidos:
            if elemento == ingrediente:
               print propio.nombre_plato
               break


    def buscar_receta_con_ingredientes_solidos (propio, ingrediente):
        for elemento in propio.ingredientes_solidos:
            if elemento == ingrediente:
               print propio.nombre_plato
               break

    def __str__ (propio):
          representación = "NOMBRE DEL PLATO: " +  propio.nombre_plato  + '\n'
          representación += "INGREDIENTES: -Sólidos-: "
          for solidos in propio.ingredientes_solidos: representación += solidos + ', '  
          representación += "-Líquidos-: "
          for liquidos in propio.ingredientes_liquidos: representación += liquidos + ', '
          return representación



si por ejemplo pongo

           
a=Recetas("Tarta_de_Manzana")
a.proporcionar_ingredientes_solidos("manteca")
a.proporcionar_ingredientes_solidos("turron")
a.proporcionar_ingredientes_liquidos("leche")


y ahora quiero buscar una receta q tenga el ingrediente turron, pues

a.buscar_receta_con_ingredientes_solidos("turron")


lo q quiero es q busque en ingredientes solidos y en liquidos a la vez
y el resultado salga en un color diferente del q siempre sale (q es azul)


por cierto, algun buen manual del programa gazpacho en español? (para hacer interfaz grafico)

NRM:
aca esta el codigo con algunas modificaciones, tu consulta esta resuelta dentro del metodo "buscar_receta_con_ingrediente".


--- Código: Text ---class Recetas:  def __init__(self, nombre):    self.nombre_plato = nombre    self.ingredientes_solidos = []    self.ingredientes_liquidos = []   def proporcionar_ingredientes_solidos(self, solidos):    self.ingredientes_solidos.append(solidos)   def proporcionar_ingredientes_liquidos(self, liquidos):    self.ingredientes_liquidos.append(liquidos)   def buscar_receta_con_ingredientes(self, ingrediente):    for elemento in self.ingredientes_liquidos:      if elemento == ingrediente:        print self.nombre_plato        break    for elemento in self.ingredientes_solidos:      if elemento == ingrediente:        print self.nombre_plato        break   def __str__(self):    representacion = &#34;NOMBRE DEL PLATO: &#34; + self.nombre_plato + '&#092;n'    representacion += &#34;INGREDIENTES: -Solidos-: &#34;    for solidos in self.ingredientes_solidos:      representacion += solidos + ', '    representacion += &#34;-Liquidos-: &#34;    for liquidos in self.ingredientes_liquidos:      representacion += liquidos + ', '    return representacion if __name__ == &#34;__main__&#34;:  a = Recetas(&#34;Tarta_de_Manzana&#34;)  a.proporcionar_ingredientes_solidos(&#34;manteca&#34;)  a.proporcionar_ingredientes_solidos(&#34;turron&#34;)  a.proporcionar_ingredientes_liquidos(&#34;leche&#34;)  a.buscar_receta_con_ingredientes(&#34;leche&#34;) 
me parece que hay mejores formas de resolver este problema y no usar 2 for, pero esta es la mas simple de hacer sin modificar mucho el codigo de la clase.

con respecto a lo del color depende de la terminal que utilices, en linux se puede hacer, en windows no sabria decirte.

te recomiendo que utilices variables que no contengan caracteres con tildes, tambien te recomendaria que utilices "self" en vez de propio. esto te va a ayudar a que otros programadores puedan leer el codigo mas facilmente y cuando pongas codigo en el foro intenta utilizar el tag CODE para una mejor lectura.

saludos

nrm

sergio2:
ok, muchas gracias

el tag code no se lo q es  <_<


por cierto, alguien sabe de alguna pagina donde mirar ejemplos de interfaz hechos con  gazpacho ( *.glade)?

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa