Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
find
#1
Hi, it's me again.
this time with another problem for the same code. This time I have to print all the products that are made by the same "producator" or "maker" as I call it in the comments. I tried, but, again, I don't seem to get the hang of it.
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: ") #Maker of the product
        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):
    subclasa= "Mixer"
    clasa= "\nElectrocasnice mici"
    print(clasa)
    print(subclasa)
    def __init__(self):
        self.rotatii_min= int(input("Rotatii pe minut: "))
        Electrocasnice_mici.__init__(self)
m1= mixer()

class fier_calcat(Electrocasnice_mici):
    subclasa= "Fier de calcat"
    clasa= "\nElectrocasnice mici"
    print(clasa)
    print(subclasa)
    def __init__(self):
        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)
#here starts the part for printing all the objects made by the same maker
for z in catalog.lista_obiecte:
    pr=input ("Introduceti un producator: ") #Insert a maker
    for pr in catalog.lista_obiecte:
        if (z.producator == pr):
            print (z.subclasa)
        else:
            print ("Nu exista produs cu acest producator") #This maker doesn't exist
        
input("\nApasa <enter> pentru a iesi")
And here is the output:
Output:
Electrocasnice mari Frigider Capacitate congelator: 98 Capacitate frigider: 65 Adancimea produsului: 74 Inaltimea produsului: 568 Latimea produsului: 6587 Pretul produsului: 4765 Consumul produsului: 68 Producatorul produsului: samsung Codul produsului: 57 Electrocasnice mari Aragaz Numar de arzatoare: 47 Adancimea produsului: 587 Inaltimea produsului: 547778 Latimea produsului: 68 Pretul produsului: 32 Consumul produsului: 45 Producatorul produsului: 356 Codul produsului: 98 Electrocasnice mici Mixer Rotatii pe minut: 78 Lungimea cablului: 58 Baterie produs: 57 Pretul produsului: 659 Consumul produsului: 9 Producatorul produsului: lg Codul produsului: 8956 Electrocasnice mici Fier de calcat Rezervor: 784 Lungimea cablului: 549 Baterie produs: 574 Pretul produsului: 658 Consumul produsului: 468 Producatorul produsului: 65 Codul produsului: 4989 Consumul produsului Mixer este: 9 Consumul produsului Aragaz este: 45 Consumul produsului Frigider este: 68 Consumul produsului Fier de calcat este: 468 Pretul produsului Aragaz este: 32 Pretul produsului Fier de calcat este: 658 Pretul produsului Mixer este: 659 Pretul produsului Frigider este: 4765 Introduceti un producator: samsung Nu exista produs cu acest producator Nu exista produs cu acest producator Nu exista produs cu acest producator Nu exista produs cu acest producator Introduceti un producator: samsung Nu exista produs cu acest producator Nu exista produs cu acest producator Nu exista produs cu acest producator Nu exista produs cu acest producator Introduceti un producator: samsung Nu exista produs cu acest producator Nu exista produs cu acest producator Nu exista produs cu acest producator Nu exista produs cu acest producator Introduceti un producator: samsung Nu exista produs cu acest producator Nu exista produs cu acest producator Nu exista produs cu acest producator Nu exista produs cu acest producator Apasa <enter> pentru a iesi
Reply
#2
You need to compare to pr.producator, not just pr.
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures
Reply


Forum Jump:

User Panel Messages

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