Informatika2-2021/Sz¼tGyak09
30. sor: | 30. sor: | ||
self.row = len(L) | self.row = len(L) | ||
self.column = len(L[0]) | self.column = len(L[0]) | ||
− | self. | + | self.L = L |
def __str__(self): | def __str__(self): | ||
k = '' | k = '' | ||
− | for i in self. | + | for i in self.L: |
for j in i: | for j in i: | ||
k = k + str(j).rjust(4) | k = k + str(j).rjust(4) | ||
43. sor: | 43. sor: | ||
l = [] | l = [] | ||
for j in range(self.column): | for j in range(self.column): | ||
− | l.append(self. | + | l.append(self.L[i][j] + k1.L[i][j]) |
k.append(l) | k.append(l) | ||
return Matrix(k) | return Matrix(k) | ||
51. sor: | 51. sor: | ||
l = [] | l = [] | ||
for j in range(self.column): | for j in range(self.column): | ||
− | l.append(self. | + | l.append(self.L[i][j] - k1.L[i][j]) |
k.append(l) | k.append(l) | ||
return Matrix(k) | return Matrix(k) | ||
58. sor: | 58. sor: | ||
k = [] | k = [] | ||
if self.column != k1.row: | if self.column != k1.row: | ||
− | return ' | + | return 'A művelet nem végezhető el! ' |
for i in range(self.row): | for i in range(self.row): | ||
l = [] | l = [] | ||
64. sor: | 64. sor: | ||
a = 0 | a = 0 | ||
for h in range(k1.row): | for h in range(k1.row): | ||
− | a += self. | + | a += self.L[i][h] * k1.L[h][j] |
l.append(a) | l.append(a) | ||
k.append(l) | k.append(l) |
A lap 2021. április 12., 20:00-kori változata
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.