May-04-2020, 02:09 PM
(This post was last modified: Apr-19-2021, 12:25 PM by liviu_dirlescu.)
# Proiect Python curs incepatori-BITAcademy
# Catalog electrocasnice
# Catalog 05.04.2020
# I have this error :TypeError: __init__() missing 6 required positional arguments: 'consum', 'producator', 'cod_produs', 'adancime', 'latime', and 'inaltime'.
What is wrong?
class Catalog:
# 1b.
lista_obiecte = []
clasa = ""
subclasa = ""
def __init__(self, pret, consum, producator, cod_produs): # 1a
self.pret = pret
self.consum = consum
self.producator = producator
self.cod_produs = cod_produs
Catalog.lista_obiecte.append(self) # 1b
def sorteaza_dupa_pret(self):
for obiect in sorted(Catalog.lista, key=lambda obiect: obiect.pret):
print("\n Sortare dupa pret:")
print("Pretul produsului:", obiect.pret)
#print ("Pretul produsului", obiect.subclasa, "este", obiect.pret)
print(self.pret)
pass
# alegeti voi ce afisati
def sorteaza_dupa_consum(self):
for obiect in sorted(Catalog.lista, key = lambda obiect: obiect.consum):
print("\n Sortare dupa consum:")
print("Consumul produsului:", obiect.consum)
#print ("Consumul produsului", obiect.subclasa, "este", obiect.consum)
print(self.consum)
pass
def sorteaza_dupa_producator(self):
for obiect in sorted(Catalog.lista, key = lambda obiect: obiect.producator):
print("\n Sortare dupa producator:")
print("Producatorul produsului:", obiect.producator)
#print ("Producatorul produsului", obiect.subclasa, "este", obiect.producator)
print(self.producator)
pass
def cauta_subclasa(self):
prod = input("Ce produs cautati?")
for obiect in []:
print("Ce vreti voi")
class Electrocasnice_mari(Catalog):
def __init__(self,pret,consum,producator,cod_produs,adancime,latime,inaltime): # parametrii pe care ii primeste clasa parinte
super().__init__("Catalog")
clasa= "Electrocasnice mari"
Catalog.clasa = "\nElectrocasnice mari" # populare variabila clasa
super().__init__(pret,consum,producator,cod_produs,adancime,latime,inaltime)
self.adancime = adancime
self.latime = latime
self.inaltime = inaltime
self.cod_produs = cod_produs
class Electrocasnice_mici(Catalog):
clasa = "Electrocasnice_mici"
def __init__(self,pret,consum,producator,cod_produs,lungime_cablu, baterie): # parametrii pe care ii primeste clasa parinte
Catalog.clasa = "\nElectrocasnice mici" # populare variabila clasa
super().__init__(pret,consum,producator,cod_produs)
self.lungime_cablu = lungime_cablu
self.baterie = baterie
class frigider(Electrocasnice_mari):
clasa = "\nElectrocasnice_mari"
subclasa = "frigider" # populare variabila clasa
print(clasa)
print(subclasa)
def __init__(self, pret, consum, producator, cod_produs, adancime, latime, inaltime, capacitate_congelator, capacitate_frigider): # parametrii pe care ii primeste clasa parinte
super().__init__(pret, consum, producator, cod_produs, adancime, latime, inaltime, capacitate_congelator, capacitate_frigider)
self.capacitate_congelator = capacitate_congelator
self.capacitate_frigider = capacitate_frigider
Electrocasnice_mari.__init__(self)
frigider1 = frigider()
frigider1 = frigider((1, "2000 ron","80 w","Samsung","45cm","70cm","200cm","100 l","150 l")) #Fridge1
frigider1 = frigider((2, "1500 ron","75 w","Zanussi","40cm","65cm","180cm","80 l","130 l")) #Fridge2
frigider1.sorteaza_dupa_pret()
frigider1.sorteaza_dupa_producator()
frigider1.sorteaza_dupa_consum()
lista_frigidere = [frigider1, frigider2]
for x in lista_frigidere:
print(x)
class aragaz(Electrocasnice_mari):
clasa = "\nElectrocasnice_mari"
subclasa = "\nAragaz" # populare variabila subclasa
print(clasa)
print(subclasa)
def __init__(self,pret,consum,producator,cod_produs,adancime,latime,inaltime,nr_arzatoare): # parametrii pe care ii primeste clasa parinte
super().__init__(pret,consum,producator,cod_produs,adancime,latime,inaltime)
self.nr_arzatoare = nr_arzatoare
#Catalog.subclasa = "\nElectrocasnice_mari" # populare variabila clasa
Electrocasnice_mari.__init__(self)
aragaz1 = aragaz()
pass
#def sub_aragaz(self, b):
# print('Printing from class Aragaz:', b)
# super().sub_aragaz(b + 1)
class Mixer(Electrocasnice_mici):
clasa = "\nElectrocasnice_mici"
subclasa = "\nMixer" # populare variabila subclasa
print(clasa)
print(subclasa)
def __init__(self,pret,consum,producator,cod_produs,lungime_cablu, baterie,rotatii_min): # parametrii pe care ii primeste clasa parinte
super().__init__(pret,consum,producator,cod_produs,lungime_cablu, baterie)
self.rotatii_min = rotatii_min
# fara input()!!!!!
Catalog.subclasa = "\nElectrocasnice_mici" # populare variabila clasa
Electrocasnice_mici.__init__(self)
mixer1 = mixer()
pass
class Fier_calcat(Electrocasnice_mici):
clasa = "\nElectrocasnice_mici"
subclasa = "\nFier_calcat" # populare variabila subclasa
print(clasa)
print(subclasa)
def __init__(self,pret,consum,producator,cod_produs,lungime_cablu, baterie,rezervor): # parametrii pe care ii primeste clasa parinte
super().__init__(pret,consum,producator,cod_produs,lungime_cablu,baterie)
self.rezervor = rezervor
Catalog.subclasa = "\nElectrocasnice_mici" # populare variabila clasa
Electrocasnice_mici.__init__(self)
fier1 = fier_calcat()
pass
aragaz1 = Aragaz("850 ron","68 w","Samsung",3,"50cm","60cm","85", "3 arzatoare")
aragaz2 = Aragaz("1150 ron","62 w","Zanussi",4,"40cm","60cm","80cm","4 arzatoare")
aragaz1.sorteaza_dupa_pret()
aragaz1.sorteaza_dupa_producator()
aragaz1.sorteaza_dupa_consum()
mixer1 = Mixer("150 ron","1400 w","Rowenta",5,"2 metri","fara baterie","1000 rotatii")
mixer2 = Mixer("150 ron","1200 w","Bosch",6,"2 metri","acumulator","1200 rotatii")
mixer1.sorteaza_dupa_pret()
mixer1.sorteaza_dupa_producator()
mixer1.sorteaza_dupa_consum()
fier_calcat1 = Fier_calcat("500 ron","5w","Bosch", 7 , "2 metri","acumulator","600 ml")
fier_calcat2 = Fier_calcat("300 ron","5w","Rowenta", 8 ,"2 metri","acumulator","500 ml")
fier_calcat1.sorteaza_dupa_pret()
fier_calcat1.sorteaza_dupa_producator()
fier_calcat1.sorteaza_dupa_consum()
obiect.sorteaza_dupa_producator()
obiect.sortare_dupa_pret()
obiect.sortare_dupa_consum()
for z in catalog.lista_obiecte:
producator = input ("Introduceti un producator: ") #Insert a maker
for producator in catalog.lista_obiecte:
if (z.producator == producator):
print (z.subclasa)
else:
print ("Nu exista produs cu acest producator") #This maker doesn't exist
input("\nApasa <enter> pentru a iesi")
# Catalog electrocasnice
# Catalog 05.04.2020
# I have this error :TypeError: __init__() missing 6 required positional arguments: 'consum', 'producator', 'cod_produs', 'adancime', 'latime', and 'inaltime'.
What is wrong?
class Catalog:
# 1b.
lista_obiecte = []
clasa = ""
subclasa = ""
def __init__(self, pret, consum, producator, cod_produs): # 1a
self.pret = pret
self.consum = consum
self.producator = producator
self.cod_produs = cod_produs
Catalog.lista_obiecte.append(self) # 1b
def sorteaza_dupa_pret(self):
for obiect in sorted(Catalog.lista, key=lambda obiect: obiect.pret):
print("\n Sortare dupa pret:")
print("Pretul produsului:", obiect.pret)
#print ("Pretul produsului", obiect.subclasa, "este", obiect.pret)
print(self.pret)
pass
# alegeti voi ce afisati
def sorteaza_dupa_consum(self):
for obiect in sorted(Catalog.lista, key = lambda obiect: obiect.consum):
print("\n Sortare dupa consum:")
print("Consumul produsului:", obiect.consum)
#print ("Consumul produsului", obiect.subclasa, "este", obiect.consum)
print(self.consum)
pass
def sorteaza_dupa_producator(self):
for obiect in sorted(Catalog.lista, key = lambda obiect: obiect.producator):
print("\n Sortare dupa producator:")
print("Producatorul produsului:", obiect.producator)
#print ("Producatorul produsului", obiect.subclasa, "este", obiect.producator)
print(self.producator)
pass
def cauta_subclasa(self):
prod = input("Ce produs cautati?")
for obiect in []:
print("Ce vreti voi")
class Electrocasnice_mari(Catalog):
def __init__(self,pret,consum,producator,cod_produs,adancime,latime,inaltime): # parametrii pe care ii primeste clasa parinte
super().__init__("Catalog")
clasa= "Electrocasnice mari"
Catalog.clasa = "\nElectrocasnice mari" # populare variabila clasa
super().__init__(pret,consum,producator,cod_produs,adancime,latime,inaltime)
self.adancime = adancime
self.latime = latime
self.inaltime = inaltime
self.cod_produs = cod_produs
class Electrocasnice_mici(Catalog):
clasa = "Electrocasnice_mici"
def __init__(self,pret,consum,producator,cod_produs,lungime_cablu, baterie): # parametrii pe care ii primeste clasa parinte
Catalog.clasa = "\nElectrocasnice mici" # populare variabila clasa
super().__init__(pret,consum,producator,cod_produs)
self.lungime_cablu = lungime_cablu
self.baterie = baterie
class frigider(Electrocasnice_mari):
clasa = "\nElectrocasnice_mari"
subclasa = "frigider" # populare variabila clasa
print(clasa)
print(subclasa)
def __init__(self, pret, consum, producator, cod_produs, adancime, latime, inaltime, capacitate_congelator, capacitate_frigider): # parametrii pe care ii primeste clasa parinte
super().__init__(pret, consum, producator, cod_produs, adancime, latime, inaltime, capacitate_congelator, capacitate_frigider)
self.capacitate_congelator = capacitate_congelator
self.capacitate_frigider = capacitate_frigider
Electrocasnice_mari.__init__(self)
frigider1 = frigider()
frigider1 = frigider((1, "2000 ron","80 w","Samsung","45cm","70cm","200cm","100 l","150 l")) #Fridge1
frigider1 = frigider((2, "1500 ron","75 w","Zanussi","40cm","65cm","180cm","80 l","130 l")) #Fridge2
frigider1.sorteaza_dupa_pret()
frigider1.sorteaza_dupa_producator()
frigider1.sorteaza_dupa_consum()
lista_frigidere = [frigider1, frigider2]
for x in lista_frigidere:
print(x)
class aragaz(Electrocasnice_mari):
clasa = "\nElectrocasnice_mari"
subclasa = "\nAragaz" # populare variabila subclasa
print(clasa)
print(subclasa)
def __init__(self,pret,consum,producator,cod_produs,adancime,latime,inaltime,nr_arzatoare): # parametrii pe care ii primeste clasa parinte
super().__init__(pret,consum,producator,cod_produs,adancime,latime,inaltime)
self.nr_arzatoare = nr_arzatoare
#Catalog.subclasa = "\nElectrocasnice_mari" # populare variabila clasa
Electrocasnice_mari.__init__(self)
aragaz1 = aragaz()
pass
#def sub_aragaz(self, b):
# print('Printing from class Aragaz:', b)
# super().sub_aragaz(b + 1)
class Mixer(Electrocasnice_mici):
clasa = "\nElectrocasnice_mici"
subclasa = "\nMixer" # populare variabila subclasa
print(clasa)
print(subclasa)
def __init__(self,pret,consum,producator,cod_produs,lungime_cablu, baterie,rotatii_min): # parametrii pe care ii primeste clasa parinte
super().__init__(pret,consum,producator,cod_produs,lungime_cablu, baterie)
self.rotatii_min = rotatii_min
# fara input()!!!!!
Catalog.subclasa = "\nElectrocasnice_mici" # populare variabila clasa
Electrocasnice_mici.__init__(self)
mixer1 = mixer()
pass
class Fier_calcat(Electrocasnice_mici):
clasa = "\nElectrocasnice_mici"
subclasa = "\nFier_calcat" # populare variabila subclasa
print(clasa)
print(subclasa)
def __init__(self,pret,consum,producator,cod_produs,lungime_cablu, baterie,rezervor): # parametrii pe care ii primeste clasa parinte
super().__init__(pret,consum,producator,cod_produs,lungime_cablu,baterie)
self.rezervor = rezervor
Catalog.subclasa = "\nElectrocasnice_mici" # populare variabila clasa
Electrocasnice_mici.__init__(self)
fier1 = fier_calcat()
pass
aragaz1 = Aragaz("850 ron","68 w","Samsung",3,"50cm","60cm","85", "3 arzatoare")
aragaz2 = Aragaz("1150 ron","62 w","Zanussi",4,"40cm","60cm","80cm","4 arzatoare")
aragaz1.sorteaza_dupa_pret()
aragaz1.sorteaza_dupa_producator()
aragaz1.sorteaza_dupa_consum()
mixer1 = Mixer("150 ron","1400 w","Rowenta",5,"2 metri","fara baterie","1000 rotatii")
mixer2 = Mixer("150 ron","1200 w","Bosch",6,"2 metri","acumulator","1200 rotatii")
mixer1.sorteaza_dupa_pret()
mixer1.sorteaza_dupa_producator()
mixer1.sorteaza_dupa_consum()
fier_calcat1 = Fier_calcat("500 ron","5w","Bosch", 7 , "2 metri","acumulator","600 ml")
fier_calcat2 = Fier_calcat("300 ron","5w","Rowenta", 8 ,"2 metri","acumulator","500 ml")
fier_calcat1.sorteaza_dupa_pret()
fier_calcat1.sorteaza_dupa_producator()
fier_calcat1.sorteaza_dupa_consum()
obiect.sorteaza_dupa_producator()
obiect.sortare_dupa_pret()
obiect.sortare_dupa_consum()
for z in catalog.lista_obiecte:
producator = input ("Introduceti un producator: ") #Insert a maker
for producator in catalog.lista_obiecte:
if (z.producator == producator):
print (z.subclasa)
else:
print ("Nu exista produs cu acest producator") #This maker doesn't exist
input("\nApasa <enter> pentru a iesi")