Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
sorting
#6
So, I figured how to do the sorting by "consum" and by "pret". (Thank you ichabod)
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?
Reply


Messages In This Thread
sorting - by AG17 - Jul-25-2019, 08:54 PM
RE: sorting - by ichabod801 - Jul-25-2019, 09:01 PM
RE: sorting - by AG17 - Jul-26-2019, 04:18 AM
RE: sorting - by DeaD_EyE - Jul-26-2019, 09:08 AM
RE: sorting - by ichabod801 - Jul-26-2019, 12:17 PM
RE: sorting - by AG17 - Jul-26-2019, 07:12 PM
RE: sorting - by ichabod801 - Jul-26-2019, 07:24 PM
RE: sorting - by liviu_dirlescu - May-04-2020, 02:09 PM

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020