Kezdőoldal » Számítástechnika » Programozás » Nem fut le a Python programom....

Nem fut le a Python programom. Mi lehet a baj?

Figyelt kérdés

class termek:

def __init__ (self, nev, kod, ar):

self.nev = nev

self.kod = kod

self.ar = 4000

class kedvezmeny_kiszamolo:

def kedvezmeny_levonasa (ar, levonas = 1000):

return f'{ar} - {levonas}'

termek1 = termek ('Tok', 'T01', 4000)


print ('Termék neve:', termek1.nev)

print ('Kód:', termek1.kod)

print ('Kedvezmény nélküli ár:', termek1.ar)

print ('Kedvezményes ár:', termek.kedvezmeny_kiszamolo)


Szóval az a baj, hogy a legutolsó sorra értelmetlen kódsorokat kapok. Már a múltkor is találkoztam ezzel, de ott meg tudtam oldani. Itt nem. Ezt kapom:

Kedvezményes ár: <class '__main__.termek.kedvezmeny_kiszamolo'>



2021. júl. 28. 09:32
 1/6 A kérdező kommentje:
Ja, és mindenhol bentebb kezdtem, ahol kellett.
2021. júl. 28. 09:32
 2/6 anonim ***** válasza:
40%
print ('Kedvezményes ár:', termek.kedvezmeny_kiszamolo())
2021. júl. 28. 09:45
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:
100%

Nem ilyesmit akartál?


class termek:

def __init__ (self, nev, kod, ar):

self.nev = nev

self.kod = kod

self.ar = 4000



def kedvezmeny_levonasa (self,levonas=1000):

return self.ar-levonas


termek1 = termek ('Tok', 'T01', 4000)

print ('Termék neve:', termek1.nev)

print ('Kód:', termek1.kod)

print ('Kedvezmény nélküli ár:', termek1.ar)

print ('Kedvezményes ár:', termek1.kedvezmeny_levonasa())

2021. júl. 28. 09:51
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:
Köszönöm a választ! Sajnos így sem működik.
2021. júl. 28. 09:52
 5/6 A kérdező kommentje:
Nagyon szépen köszönöm. Így már működik!
2021. júl. 28. 09:53
 6/6 anonim ***** válasza:

Ez a sor felesleges/rossz: self.ar = 4000

Minek adod meg az árat, ha az ár az osztályban hard-coded?


Ebben a kifejezésben a termek változó még nincs inicializálva:

print ('Kedvezményes ár:', termek.kedvezmeny_kiszamolo)



Ez esetleg nem termek1 akar lenni?


En valami ilyesmit csinálnék: [link]


Mondjuk ebben az esetben az öröklés nem indokolt. Lehet egyszerűbben is: [link]

2021. júl. 28. 09:59
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!