Informatika2-2021/Sz¼tGyak09
Tartalomjegyzék |
Feladatok
Kitekintés
Mersenn prím
Írjuk meg a Mersenn-e() függvényt, melynek paramétere egy természetes szám és kimenetnek False vagy True értékkel térjen vissza attól függően Mersenn prím-e. A programot a logaritmus függvény használata nélkül írjuk meg.
Variadic
Sum
- Írjunk egy függvényt, aminek az első argumentuma n, egy int típusú változó. A függvény térjen vissza True-val, ha annyi extra paraméterrel hívták meg, mint az első bemeneti paraméter értéke, egyébként térjen vissza False-szal.
- Definiáljunk egy szumma függvényt, ami tetszőlegesen sok bemeneti paraméterének összegével tér vissza!
- Kezeljük le a kivételt, ha a paraméterek típusa nem azonos!
- Definiáljunk egy print_words függvényt, úgy, hogy a megadott (akármennyi) szavakat annyiszor írja ki, amennyit megadunk bemenetként (szavanként)!
- Kezeljük le kivételként, ha a bemeneten nem egész számot adtak meg a szó gyakoriságára!
Legnagyobb közös osztó
Írjunk egy lnko() nevű függvényt, aminek a paramétere tetszőlegesen sok pozitív természetes szám és kiszámolja a legnagyobb közös osztójukat.
Mátrix rendezés
Adott a már házi feladatként megírt Matrix osztály:
class Matrix: def __init__(self,L): self.row = len(L) self.column = len(L[0]) self.L = L def __str__(self): k = '' for i in self.L: for j in i: k = k + str(j).rjust(4) k += '\n' return k def __add__(self, k1): k = [] for i in range(self.row): l = [] for j in range(self.column): l.append(self.L[i][j] + k1.L[i][j]) k.append(l) return Matrix(k) def __sub__(self, k1): k = [] for i in range(self.row): l = [] for j in range(self.column): l.append(self.L[i][j] - k1.L[i][j]) k.append(l) return Matrix(k) def __mul__(self, k1): k = [] if self.column != k1.row: return 'A művelet nem végezhető el! ' for i in range(self.row): l = [] for j in range(k1.column): a = 0 for h in range(k1.row): a += self.L[i][h] * k1.L[h][j] l.append(a) k.append(l) return Matrix(k)
Egészítsük ki egy új függvénnyel, aminek két bemenete van: Egy Matrix osztálybeli elemekből álló lista, egy string (novekvo vagy csokkeno) és a listában lévő mátrixokat a diagonális rész összege szerint rendezi növekvő, illetve csökkenő sorrendben a második paraméter alapján. Úgy írjuk meg a függvényt, hogy ha második paraméternek nem adunk meg semmit, akkor automatikusan növekvő sorrendbe rendezze a mátrixokat.
- Tipp: Írjuk meg először a diag() metódusát egy mátrixnak, majd nézzük meg, hogy az órai előadáson a rendezés hogyan lett megvalósítva.
Kombinációk
Írjunk egy variadikus függvényt, melynek első bemenete egy természetes szám, utána tetszőlegesen sok egész szám. A kimenete egy lista legyen, ami az első paraméter számú kombinációit tartalmazza az első paraméter után megadott természetes számoknak.
Zéró Számhármasok
Írjunk egy variadikus függvényt, melynek bemenetei különböző egész számok, kimenete pedig egy listában azon számhármasok, melyeknek összege 0.
- Tipp: Használjuk a Kombinációk függvényt!