Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
sorting
#8
# 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")
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