Jul-26-2019, 07:12 PM
So, I figured how to do the sorting by "consum" and by "pret". (Thank you ichabod)
Here is the code:
Here is the code:
class catalog(object): lista_obiecte = [] clasa = "" subclasa = "" def __init__(self): self.pret = int(input("Pretul produsului: ")) self.consum = int(input("Consumul produsului: ")) self.producator = input("Producatorul produsului: ") self.cod_produs = int(input("Codul produsului: ")) catalog.lista_obiecte.append(self) class Electrocasnice_mari(catalog): clasa= "Electrocasnice mari" def __init__(self): self.adancime = int(input("Adancimea produsului: ")) self.inaltime = int(input("Inaltimea produsului: ")) self.latime = int(input("Latimea produsului: ")) catalog.__init__(self) class frigider(Electrocasnice_mari): subclasa = "Frigider" clasa= "\nElectrocasnice mari" print(clasa) print(subclasa) def __init__(self): self.capacitate_congelator = int(input("Capacitate congelator: ")) self.capacitate_frigider = int(input("Capacitate frigider: ")) Electrocasnice_mari.__init__(self) f1 = frigider() class aragaz(Electrocasnice_mari): subclasa= "Aragaz" clasa= "\nElectrocasnice mari" print(clasa) print(subclasa) def __init__(self): self.nr_arzatoare= int(input("Numar de arzatoare: ")) Electrocasnice_mari.__init__(self) a1= aragaz() class Electrocasnice_mici(catalog): def __init__(self): clasa= "Electrocasnice mici" self.lungime_cablu= int(input("Lungimea cablului: ")) self.baterie= int(input("Baterie produs: ")) catalog.__init__(self) class mixer(Electrocasnice_mici): def __init__(self): subclasa= "Mixer" clasa= "\nElectrocasnice mici" print(clasa) print(subclasa) self.rotatii_min= int(input("Rotatii pe minut: ")) Electrocasnice_mici.__init__(self) m1= mixer() class fier_calcat(Electrocasnice_mici): def __init__(self): subclasa= "Fier de calcat" clasa= "\nElectrocasnice mici" print(clasa) print(subclasa) self.rezervor= int(input("Rezervor: ")) Electrocasnice_mici.__init__(self) c1= fier_calcat() for x in sorted(catalog.lista_obiecte,key = lambda x: x.consum): print ("consumul produsului", x.subclasa,"este", x.consum) for y in sorted (catalog.lista_obiecte,key = lambda y: y.pret): print ("Pretul produsului", y.subclasa, "este", y.pret) input("\nApasa <enter> pentru a iesi")But at the output it shows like this:
Output:Electrocasnice mari
Frigider
Capacitate congelator: 78
Capacitate frigider: 45
Adancimea produsului: 69
Inaltimea produsului: 45
Latimea produsului: 12
Pretul produsului: 32
Consumul produsului: 456
Producatorul produsului: 79
Codul produsului: 46
Electrocasnice mari
Aragaz
Numar de arzatoare: 13
Adancimea produsului: 20
Inaltimea produsului: 45
Latimea produsului: 990
Pretul produsului: 36
Consumul produsului: 66
Producatorul produsului: 44
Codul produsului: 99
Electrocasnice mici
Mixer
Rotatii pe minut: 88
Lungimea cablului: 33
Baterie produs: 11
Pretul produsului: 22
Consumul produsului: 55
Producatorul produsului: 44
Codul produsului: 77
Electrocasnice mici
Fier de calcat
Rezervor: 88
Lungimea cablului: 80
Baterie produs: 81
Pretul produsului: 71
Consumul produsului: 74
Producatorul produsului: 75
Codul produsului: 76
consumul produsului este 55 #The consumption of the product is
consumul produsului Aragaz este 66
consumul produsului este 74
consumul produsului Frigider este 456
Pretul produsului este 22 #The price of the product is
Pretul produsului Frigider este 32
Pretul produsului Aragaz este 36
Pretul produsului este 71
Apasa <enter> pentru a iesi
If you can observe it only shows the name("subclasa" in my program) for "frigider" and "aragaz". What did I do wrong?