Informatika2-2013/Gyakorlat13
A MathWikiből
(Változatok közti eltérés)
1. sor: | 1. sor: | ||
+ | == Egy új függvény == | ||
+ | |||
+ | <python> | ||
+ | class A: | ||
+ | pass | ||
+ | |||
+ | class B: | ||
+ | pass | ||
+ | |||
+ | a = A() | ||
+ | |||
+ | print isinstance(a, A) #True | ||
+ | print isinstance(a, B) #False | ||
+ | </python> | ||
+ | |||
== Feladat == | == Feladat == | ||
+ | |||
+ | [ kezdeti file normal] | ||
+ | [ kezdeti file hard] | ||
Két osztályt kell megírni, melyek közt elég erõs kapocs van. Az osztályok: | Két osztályt kell megírni, melyek közt elég erõs kapocs van. Az osztályok: |
A lap 2013. május 7., 03:25-kori változata
Egy új függvény
class A: pass class B: pass a = A() print isinstance(a, A) #True print isinstance(a, B) #False
Feladat
[ kezdeti file normal] [ kezdeti file hard]
Két osztályt kell megírni, melyek közt elég erõs kapocs van. Az osztályok:
- Ember: egy ember, dolgozó, vagy ilyesmi reprezentálása, neve van, neptun kódja, neme, kora, és telefonszámai
- Csoport: több Ember-bõl állhat, külön megnevezése van, tárolja a csoport létszámát is
Az osztályokat úgy kell megírni, hogy két Ember-t összeadva egy Csoport-ot kapjunk, egy Csoport és egy Ember összegeként is értelemszerûen azt a Csoport-ot kapjuk amihez hozzávettük az adott Ember-t. Végül két Csoport összegeként az úniójukat kell vennünk.
Valamint szeretnénk még kivonást is írni, ami két halmaz különbsége szerûen mûködik.
Az Ember függvényei:
- __init__(...): létrehozza (és beállítja) a nev, neptun, nem (stringek), kor (egész), tel (stringek listája) adattagokat.
- szuletesnap(self):: lépteti eggyel a kor-t
- ujTelefonszam(self, szam): felvesz egy új telefonszámot a telefonszám listába
- torolTelefonszam(self, szam): töröl egy telefonszámot, használjuk a listák .remove(x) metódusát, ami törli az x elemet (nem az x.-et)
- __add__(self, jobboldal): megvalósítja a korábban leírt összeadást
- __eq__(self, jobboldal): a kényelem miatt írjuk meg (ez az == operátor), igazat ad, ha a két Ember neptunkódja megegyezik, amúgy hamisat
- __repr__(self): ismét kényelem kedvéért
A Csoport függvényei:
- __init__(...): létrehozza (és beállítja) a lista (Ember-ek listája), megnevezés (string) és letszam (egész) adattagokat
- atnevez(self, megnevezes): átnevezi a Csoportot
- __add__(self, jobboldal): megvalósítja a fent leírt összeadást
- __sub__(self, jobboldal): megvalósítja a fent leírt kivonást
- __repr__(self): a kényelem kedvéért