Ez meg az

Minden ami hasznos és kevésbé

PySuli OOP 2 Diákok

2021. június 12. 21:09 - moo_

1.1 Feladat
Hozz létre egy Diak nevű osztályt. Attribútumai: név, osztály, születési év. Az egyik metódusa állíptsa meg az aktuális év és a születési év alapján a diák életkorát, a másik metódusa pedig adjon vissza egy f-sztringet, amelyben mondatszerűen szerepelnek a diák adatai: Szia, Kiss Péter vagyok, a 10.A osztályba járok, 16 éves vagyok.


1.2 Feladat
Fejleszd tovább az előző programot úgy, hogy az osztálynak legyen osztályattribútuma, osztály- és statikus metódusa!


1.3 Feladat
Fejleszd tovább az előző programot úgy, hogy az hozzon létre öt Diak-objektumot. A nevet egy-egy vezeték és keresztneveket tartalmazó listából állítsa össze véletlenszerűen, az osztályt és a születési évet pedig szintén véletlenszerűen generálja! A Diak-objektumokat egy listában tárolja! A program a listát bejárva írja ki a diákadatokat a képernyőre!

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import datetime
import random


class Diak:
    vegzos = 0
    nem_vegzos = 0

    def __init__(self, nev, evfolyam, osztaly, szulev):
        self.nev = nev
        self.evfolyam = evfolyam
        self.osztaly = osztaly
        self.szulev = szulev
        if evfolyam == 12:
            Diak.vegzos += 1
        else:
            Diak.nem_vegzos += 1

    def eletkor(self):
        kor = datetime.datetime.now().year - self.szulev
        return kor

    def bemutatkozas(self):
        bemutat = f"Szia, a nevem {self.nev}, a {self.evfolyam}.{self.osztaly} osztályba járok és {self.eletkor()} éves vagyok."
        return bemutat

    @classmethod
    def diakok_szama(cls):
        return cls.vegzos + cls.nem_vegzos

    @staticmethod
    def suliinfo():
        return 'Ez a suli a Batthyány!\nHozott anyagból dolgozunk!'


def nevadas():
    vezeteknev = ["Boros", "Veres", "Fekete", "Soós", "Papp", "Dudás", "Hegedűs", "Varga", "Fodor", "Kozma"]
    keresztnev = ["Nikolett", "Adrián", "Zsolt", "Szabina", "Ádám", "Dorina", "Olivér", "Anna", "Gyula", "Laura"]
    nev = f"{vezeteknev[random.randint(0, 9)]} {keresztnev[random.randint(0, 9)]}"
    return nev


def osztalyadas():
    osztalyok = ["A", "B", "C"]
    return f"{osztalyok[random.randint(0, 2)]}"


diakok = []
for _ in range(0, 10):
    osztaly = random.randint(9, 12)
    diakok.append(Diak(nevadas(), osztaly, osztalyadas(), datetime.datetime.now().year - 6 - osztaly - random.randint(0, 1)))

for diak in diakok:
    print(Diak.bemutatkozas(diak))

print(Diak.suliinfo())
print(f"Az iskolába {Diak.diakok_szama()} diák jár, ebből {Diak.vegzos} végzős tanuló van.")

 

Szólj hozzá!
Címkék: pysuli

A bejegyzés trackback címe:

https://feketeimre.blog.hu/api/trackback/id/tr3416592146

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása