Informatika2-2021/Sz¼tGyak09

A MathWikiből
(Változatok közti eltérés)
30. sor: 30. sor:
 
         self.row = len(L)
 
         self.row = len(L)
 
         self.column = len(L[0])
 
         self.column = len(L[0])
         self.creator = L
+
         self.L = L
 
     def __str__(self):
 
     def __str__(self):
 
         k = ''
 
         k = ''
         for i in self.creator:
+
         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.creator[i][j] + k1.creator[i][j])
+
                 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.creator[i][j] - k1.creator[i][j])
+
                 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 'Nem összeszorozhatóak a mátrixaink! '
+
             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.creator[i][h] * k1.creator[h][j]
+
                     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

  1. Í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.
  2. Definiáljunk egy szumma függvényt, ami tetszőlegesen sok bemeneti paraméterének összegével tér vissza!
    1. Kezeljük le a kivételt, ha a paraméterek típusa nem azonos!
  3. Definiáljunk egy print_words függvényt, úgy, hogy a megadott (akármennyi) szavakat annyiszor írja ki, amennyit megadunk bemenetként (szavanként)!
    1. 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.

Személyes eszközök