Informatika2-2021/Sz¼tGyak09

A MathWikiből
A lap korábbi változatát látod, amilyen Csonkab (vitalap | szerkesztései) 2021. április 12., 19:06-kor történt szerkesztése után volt.

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.

  1. 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.

  1. Tipp: Használjuk a Kombinációk függvényt!
Személyes eszközök