i commited last idk when , so updates

This commit is contained in:
2025-12-01 11:45:42 +01:00
parent 4cab5d7202
commit 2c92baa9c8
28 changed files with 6957 additions and 505 deletions

2967
csv/autos/cars.csv Normal file

File diff suppressed because it is too large Load Diff

35
csv/autos/main.py Normal file
View File

@@ -0,0 +1,35 @@
# -*- coding: ansi -*-
import csv
from collections import defaultdict
def auswertung(csvf: str):
try:
with open(csvf, "r") as f:
reader = csv.reader(f, delimiter=";")
header = next(reader)
marken_count = defaultdict(int)
total_dataset = 0
for row in reader:
if len(row) < 2:
continue
total_dataset += 1
marke = row[1]
marken_count[marke] += 1
print(f"Insgesamt sind {total_dataset} Datens<6E>tze gespeichert!")
print(f"Insgesamt sind {len(marken_count)} verschiedene Automarken gespeichert!")
print()
for i, marke in enumerate(sorted(marken_count.keys()), start=1):
print(f"{i} : {marke} ist {marken_count[marke]} mal in der Liste gespeichert")
except FileNotFoundError:
auswertung("cars.csv")

File diff suppressed because it is too large Load Diff

48
csv/gemeindenaut/main.py Normal file
View File

@@ -0,0 +1,48 @@
# -*- coding: ansi -*-
with open('gemeinden.csv', 'r') as file:
daten = file.readlines()
gemeinden_liste = []
for zeile in daten[1:]:
zeile = zeile.strip()
if zeile:
teile = zeile.split(';')
gemeinden_liste.append(teile)
for eintrag in gemeinden_liste:
eintrag[2] = int(eintrag[2])
bundeslaender = []
for eintrag in gemeinden_liste:
if eintrag[1] not in bundeslaender:
bundeslaender.append(eintrag[1])
einwohner_pro_bundesland = []
gemeinden_pro_bundesland = []
for i in range(len(bundeslaender)):
zwischensummen = []
for gemeinde, bundesland, einwohner in gemeinden_liste:
if bundeslaender[i] == bundesland:
zwischensummen.append(einwohner)
gesamt_einwohner = sum(zwischensummen)
anzahl_gemeinden = len(zwischensummen)
einwohner_pro_bundesland.append(gesamt_einwohner)
gemeinden_pro_bundesland.append(anzahl_gemeinden)
zwischensummen.clear()
print("Bundesl<EFBFBD>nder Statistik:")
for i in range(len(bundeslaender)):
print(f"{bundeslaender[i]}:")
print(f" Gemeinden: {gemeinden_pro_bundesland[i]}")
print(f" Einwohner: {einwohner_pro_bundesland[i]}")
print()
print("\nZusammengefasste Statistik:")
print("Bundesland ; Gemeinden ; Einwohner")
for bundesland, gemeinden, einwohner in zip(bundeslaender, gemeinden_pro_bundesland, einwohner_pro_bundesland):
print(f"{bundesland:11} {gemeinden:8} {einwohner:9}")

View File

@@ -0,0 +1,36 @@
# -*- coding: ansi -*-
# ^ geht ohne dem aus irgend einen grund nicht,
# wahrscheindlich wegen <20><><EFBFBD>
import csv
import random
def lade_schueler(dateiname):
schueler_verfuegbar = []
schueler_bereits_dran = []
with open(dateiname, newline='') as csvfile:
reader = csv.reader(csvfile, delimiter=';')
for row in reader:
name = f"{row[1]} {row[2]}"
if len(row) >= 4 and row[3].strip() == 'x':
schueler_bereits_dran.append(name)
else:
schueler_verfuegbar.append(name)
return schueler_verfuegbar, schueler_bereits_dran
def waehle_schueler(schueler_liste, anzahl=2):
return random.sample(schueler_liste, k=anzahl)
if __name__ == "__main__":
datei = "schueler_6b_25.csv"
verfuegbare_schueler, bereits_dran = lade_schueler(datei)
print("Sch<EFBFBD>ler, die schon dran waren:")
for s in bereits_dran:
print(s)
gewaehlte_schueler = waehle_schueler(verfuegbare_schueler)
print("\nHeute dran sind:")
for s in gewaehlte_schueler:
print(s)

View File

@@ -0,0 +1,17 @@
1;Dhir;Vandita;x
2;Falk;Nico;
3;Geier;Sascha;
4;Hammer;Lena;
5;Hofstaetter;Elias;
6;Hohenscherer;Maximilian;
7;Moik;Niklas;
8;Okaemov;Ilia;
9;Ruiter;Celina;
10;Sam-Kandlhofer;Pia-Amelie;
11;Stecher;Mona;x
12;Strau<61>;Luzia;
13;Summerer;Anna;
14;Terler;Jeremias;
15;Trausmueller;Marie;
16;Zhang;Mark Lipeng;x
17;Zinkl;Sebastian;
1 1 Dhir Vandita x
2 2 Falk Nico
3 3 Geier Sascha
4 4 Hammer Lena
5 5 Hofstaetter Elias
6 6 Hohenscherer Maximilian
7 7 Moik Niklas
8 8 Okaemov Ilia
9 9 Ruiter Celina
10 10 Sam-Kandlhofer Pia-Amelie
11 11 Stecher Mona x
12 12 Strauß Luzia
13 13 Summerer Anna
14 14 Terler Jeremias
15 15 Trausmueller Marie
16 16 Zhang Mark Lipeng x
17 17 Zinkl Sebastian

Binary file not shown.

View File

@@ -0,0 +1,129 @@
1;7;Menz;14.10.2021;89343
2;7;Menz;18.07.2021;30386
3;12;Todt;15.12.2021;62144
4;7;Menz;29.11.2021;42775
5;6;Austin-Plass;18.08.2021;76751
6;12;Todt;12.08.2021;39197
7;5;Viessmann;13.09.2021;19197
8;4;Wengert;16.05.2021;28600
9;1;Meuter;17.11.2021;55596
10;11;Moldenhauer;26.11.2021;50758
11;5;Viessmann;27.07.2021;8689
12;1;Meuter;10.12.2021;37809
13;10;Rosin;26.06.2021;83176
14;4;Wengert;29.11.2021;88768
15;5;Viessmann;15.12.2021;8207
16;11;Moldenhauer;17.08.2021;31123
17;3;Denecke;26.11.2021;76931
18;9;Lohr;24.11.2021;48157
19;7;Menz;04.12.2021;13063
20;1;Meuter;23.11.2021;5316
21;8;Rabenstein-Niebel;19.10.2021;25511
22;4;Wengert;06.09.2021;22392
23;6;Austin-Plass;20.11.2021;73610
24;11;Moldenhauer;09.12.2021;47814
25;11;Moldenhauer;29.10.2021;79036
26;9;Lohr;17.09.2021;56846
27;8;Rabenstein-Niebel;17.11.2021;42504
28;12;Todt;18.10.2021;11364
29;10;Rosin;10.11.2021;86191
30;1;Meuter;28.09.2021;7825
31;2;Wassermann;20.11.2021;42028
32;6;Austin-Plass;12.12.2021;83780
33;9;Lohr;18.08.2021;16637
34;3;Denecke;11.08.2021;40530
35;2;Wassermann;21.10.2021;45040
36;12;Todt;03.12.2021;80563
37;8;Rabenstein-Niebel;23.11.2021;95791
38;3;Denecke;06.09.2021;46414
39;10;Rosin;14.10.2021;80264
40;2;Wassermann;04.06.2021;89811
41;4;Wengert;14.12.2021;64553
42;9;Lohr;14.08.2021;84744
43;5;Viessmann;19.06.2021;26610
44;1;Meuter;12.10.2021;76865
45;10;Rosin;23.08.2021;53399
46;9;Lohr;15.12.2021;51546
47;12;Todt;15.09.2021;56236
48;11;Moldenhauer;18.10.2021;97791
49;4;Wengert;05.11.2021;57798
50;11;Moldenhauer;14.07.2021;66082
51;1;Meuter;23.08.2021;92354
52;1;Meuter;02.11.2021;34725
53;6;Austin-Plass;10.09.2021;78096
54;2;Wassermann;18.11.2021;63008
55;5;Viessmann;07.12.2021;26777
56;7;Menz;11.10.2021;64434
57;5;Viessmann;01.12.2021;61780
58;8;Rabenstein-Niebel;25.11.2021;28412
59;5;Viessmann;11.12.2021;94470
60;5;Viessmann;16.11.2021;63232
61;1;Meuter;15.12.2021;52995
62;1;Meuter;26.07.2021;47502
63;6;Austin-Plass;16.11.2021;11970
64;7;Menz;27.08.2021;41099
65;8;Rabenstein-Niebel;23.09.2021;9731
66;4;Wengert;30.10.2021;40529
67;9;Lohr;13.11.2021;96884
68;7;Menz;16.11.2021;59037
69;12;Todt;01.12.2021;58291
70;6;Austin-Plass;06.12.2021;89049
71;1;Meuter;22.11.2021;45789
72;10;Rosin;12.12.2021;40103
73;6;Austin-Plass;08.12.2021;43460
74;9;Lohr;08.09.2021;67101
75;8;Rabenstein-Niebel;07.09.2021;58786
76;5;Viessmann;08.12.2021;15900
77;7;Menz;12.12.2021;21772
78;5;Viessmann;25.10.2021;93851
79;4;Wengert;04.11.2021;39161
80;6;Austin-Plass;25.08.2021;16163
81;5;Viessmann;12.12.2021;92294
82;4;Wengert;30.10.2021;58812
83;2;Wassermann;14.09.2021;32029
84;7;Menz;25.11.2021;43499
85;4;Wengert;09.10.2021;15812
86;7;Menz;19.10.2021;95050
87;8;Rabenstein-Niebel;19.11.2021;25591
88;11;Moldenhauer;31.08.2021;91529
89;2;Wassermann;12.12.2021;57046
90;6;Austin-Plass;21.10.2021;33695
91;1;Meuter;26.10.2021;86385
92;5;Viessmann;14.12.2021;66502
93;6;Austin-Plass;08.12.2021;59023
94;1;Meuter;15.08.2021;64730
95;5;Viessmann;25.11.2021;69062
96;7;Menz;01.10.2021;12994
97;2;Wassermann;29.10.2021;58183
98;4;Wengert;14.11.2021;9971
99;8;Rabenstein-Niebel;28.11.2021;40917
100;10;Rosin;06.11.2021;55297
101;10;Rosin;28.09.2021;67326
102;12;Todt;18.10.2021;96045
103;11;Moldenhauer;14.12.2021;91704
104;4;Wengert;15.12.2021;91638
105;2;Wassermann;16.11.2021;36078
106;4;Wengert;15.11.2021;13885
107;12;Todt;29.11.2021;21497
108;12;Todt;18.10.2021;67594
109;4;Wengert;12.10.2021;60347
110;6;Austin-Plass;13.12.2021;43526
111;8;Rabenstein-Niebel;30.07.2021;33822
112;11;Moldenhauer;08.12.2021;93547
113;9;Lohr;20.11.2021;48938
114;2;Wassermann;13.12.2021;49880
115;12;Todt;22.11.2021;57601
116;8;Rabenstein-Niebel;11.08.2021;24413
117;11;Moldenhauer;19.07.2021;79012
118;2;Wassermann;06.12.2021;89851
119;3;Denecke;11.10.2021;92338
120;6;Austin-Plass;24.10.2021;65368
121;6;Austin-Plass;05.12.2021;50949
122;10;Rosin;02.11.2021;9953
123;6;Austin-Plass;15.12.2021;59322
124;5;Viessmann;23.09.2021;90963
125;12;Todt;07.12.2021;17584
126;5;Viessmann;11.11.2021;7804
127;3;Denecke;19.11.2021;59752
128;3;Denecke;21.09.2021;30561
129;5;Viessmann;15.11.2021;5916
1 1 7 Menz 14.10.2021 89343
2 2 7 Menz 18.07.2021 30386
3 3 12 Todt 15.12.2021 62144
4 4 7 Menz 29.11.2021 42775
5 5 6 Austin-Plass 18.08.2021 76751
6 6 12 Todt 12.08.2021 39197
7 7 5 Viessmann 13.09.2021 19197
8 8 4 Wengert 16.05.2021 28600
9 9 1 Meuter 17.11.2021 55596
10 10 11 Moldenhauer 26.11.2021 50758
11 11 5 Viessmann 27.07.2021 8689
12 12 1 Meuter 10.12.2021 37809
13 13 10 Rosin 26.06.2021 83176
14 14 4 Wengert 29.11.2021 88768
15 15 5 Viessmann 15.12.2021 8207
16 16 11 Moldenhauer 17.08.2021 31123
17 17 3 Denecke 26.11.2021 76931
18 18 9 Lohr 24.11.2021 48157
19 19 7 Menz 04.12.2021 13063
20 20 1 Meuter 23.11.2021 5316
21 21 8 Rabenstein-Niebel 19.10.2021 25511
22 22 4 Wengert 06.09.2021 22392
23 23 6 Austin-Plass 20.11.2021 73610
24 24 11 Moldenhauer 09.12.2021 47814
25 25 11 Moldenhauer 29.10.2021 79036
26 26 9 Lohr 17.09.2021 56846
27 27 8 Rabenstein-Niebel 17.11.2021 42504
28 28 12 Todt 18.10.2021 11364
29 29 10 Rosin 10.11.2021 86191
30 30 1 Meuter 28.09.2021 7825
31 31 2 Wassermann 20.11.2021 42028
32 32 6 Austin-Plass 12.12.2021 83780
33 33 9 Lohr 18.08.2021 16637
34 34 3 Denecke 11.08.2021 40530
35 35 2 Wassermann 21.10.2021 45040
36 36 12 Todt 03.12.2021 80563
37 37 8 Rabenstein-Niebel 23.11.2021 95791
38 38 3 Denecke 06.09.2021 46414
39 39 10 Rosin 14.10.2021 80264
40 40 2 Wassermann 04.06.2021 89811
41 41 4 Wengert 14.12.2021 64553
42 42 9 Lohr 14.08.2021 84744
43 43 5 Viessmann 19.06.2021 26610
44 44 1 Meuter 12.10.2021 76865
45 45 10 Rosin 23.08.2021 53399
46 46 9 Lohr 15.12.2021 51546
47 47 12 Todt 15.09.2021 56236
48 48 11 Moldenhauer 18.10.2021 97791
49 49 4 Wengert 05.11.2021 57798
50 50 11 Moldenhauer 14.07.2021 66082
51 51 1 Meuter 23.08.2021 92354
52 52 1 Meuter 02.11.2021 34725
53 53 6 Austin-Plass 10.09.2021 78096
54 54 2 Wassermann 18.11.2021 63008
55 55 5 Viessmann 07.12.2021 26777
56 56 7 Menz 11.10.2021 64434
57 57 5 Viessmann 01.12.2021 61780
58 58 8 Rabenstein-Niebel 25.11.2021 28412
59 59 5 Viessmann 11.12.2021 94470
60 60 5 Viessmann 16.11.2021 63232
61 61 1 Meuter 15.12.2021 52995
62 62 1 Meuter 26.07.2021 47502
63 63 6 Austin-Plass 16.11.2021 11970
64 64 7 Menz 27.08.2021 41099
65 65 8 Rabenstein-Niebel 23.09.2021 9731
66 66 4 Wengert 30.10.2021 40529
67 67 9 Lohr 13.11.2021 96884
68 68 7 Menz 16.11.2021 59037
69 69 12 Todt 01.12.2021 58291
70 70 6 Austin-Plass 06.12.2021 89049
71 71 1 Meuter 22.11.2021 45789
72 72 10 Rosin 12.12.2021 40103
73 73 6 Austin-Plass 08.12.2021 43460
74 74 9 Lohr 08.09.2021 67101
75 75 8 Rabenstein-Niebel 07.09.2021 58786
76 76 5 Viessmann 08.12.2021 15900
77 77 7 Menz 12.12.2021 21772
78 78 5 Viessmann 25.10.2021 93851
79 79 4 Wengert 04.11.2021 39161
80 80 6 Austin-Plass 25.08.2021 16163
81 81 5 Viessmann 12.12.2021 92294
82 82 4 Wengert 30.10.2021 58812
83 83 2 Wassermann 14.09.2021 32029
84 84 7 Menz 25.11.2021 43499
85 85 4 Wengert 09.10.2021 15812
86 86 7 Menz 19.10.2021 95050
87 87 8 Rabenstein-Niebel 19.11.2021 25591
88 88 11 Moldenhauer 31.08.2021 91529
89 89 2 Wassermann 12.12.2021 57046
90 90 6 Austin-Plass 21.10.2021 33695
91 91 1 Meuter 26.10.2021 86385
92 92 5 Viessmann 14.12.2021 66502
93 93 6 Austin-Plass 08.12.2021 59023
94 94 1 Meuter 15.08.2021 64730
95 95 5 Viessmann 25.11.2021 69062
96 96 7 Menz 01.10.2021 12994
97 97 2 Wassermann 29.10.2021 58183
98 98 4 Wengert 14.11.2021 9971
99 99 8 Rabenstein-Niebel 28.11.2021 40917
100 100 10 Rosin 06.11.2021 55297
101 101 10 Rosin 28.09.2021 67326
102 102 12 Todt 18.10.2021 96045
103 103 11 Moldenhauer 14.12.2021 91704
104 104 4 Wengert 15.12.2021 91638
105 105 2 Wassermann 16.11.2021 36078
106 106 4 Wengert 15.11.2021 13885
107 107 12 Todt 29.11.2021 21497
108 108 12 Todt 18.10.2021 67594
109 109 4 Wengert 12.10.2021 60347
110 110 6 Austin-Plass 13.12.2021 43526
111 111 8 Rabenstein-Niebel 30.07.2021 33822
112 112 11 Moldenhauer 08.12.2021 93547
113 113 9 Lohr 20.11.2021 48938
114 114 2 Wassermann 13.12.2021 49880
115 115 12 Todt 22.11.2021 57601
116 116 8 Rabenstein-Niebel 11.08.2021 24413
117 117 11 Moldenhauer 19.07.2021 79012
118 118 2 Wassermann 06.12.2021 89851
119 119 3 Denecke 11.10.2021 92338
120 120 6 Austin-Plass 24.10.2021 65368
121 121 6 Austin-Plass 05.12.2021 50949
122 122 10 Rosin 02.11.2021 9953
123 123 6 Austin-Plass 15.12.2021 59322
124 124 5 Viessmann 23.09.2021 90963
125 125 12 Todt 07.12.2021 17584
126 126 5 Viessmann 11.11.2021 7804
127 127 3 Denecke 19.11.2021 59752
128 128 3 Denecke 21.09.2021 30561
129 129 5 Viessmann 15.11.2021 5916

31
csv/jahresbillanz/main.py Normal file
View File

@@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
import csv
filename = "Jahresabschluss.csv"
firmen = []
rechnungssummen = []
with open(filename, newline='', encoding='utf-8') as csvfile:
reader = csv.reader(csvfile, delimiter=';')
next(reader)
for row in reader:
firmen.append(row[2])
rechnungssummen.append(float(row[4]))
einzigartige_firmen = []
for firma in firmen:
if firma not in einzigartige_firmen:
einzigartige_firmen.append(firma)
summen_pro_firma = []
for kunde in einzigartige_firmen:
gesamt = 0
for i in range(len(firmen)):
if firmen[i] == kunde:
gesamt += rechnungssummen[i]
summen_pro_firma.append(gesamt)
print("Jahresabschluss:")
for i in range(len(einzigartige_firmen)):
print(f"{einzigartige_firmen[i]}: {summen_pro_firma[i]:.2f} EUR")

View File

@@ -0,0 +1,22 @@
Bernd
J<EFBFBD>rg
Alisa
Bernd
Alisa
Alisa
Alisa
Bernd
J<EFBFBD>rg
Julia
Bernd
Alisa
J<EFBFBD>rg
Julia
Alisa
Bernd
Julia
Julia
J<EFBFBD>rg
Bernd
Alisa
Alisa
1 Bernd
2 Jörg
3 Alisa
4 Bernd
5 Alisa
6 Alisa
7 Alisa
8 Bernd
9 Jörg
10 Julia
11 Bernd
12 Alisa
13 Jörg
14 Julia
15 Alisa
16 Bernd
17 Julia
18 Julia
19 Jörg
20 Bernd
21 Alisa
22 Alisa

View File

@@ -0,0 +1,38 @@
from collections import Counter
from pathlib import Path
import os
"""
Sorry f<>r die sp<73>te Abgabe, war leider Krank.
Hab von Jeremias das beispiel angeschaut und versucht es zu verbessern.
"""
def auswertung_datei(datei: str):
cwd = Path(os.getcwd())
pfad = cwd / datei
if not pfad.exists():
print(f"Datei '{datei}' nicht im aktuellen Ordner ({cwd}) gefunden.")
return
with pfad.open("r", encoding="utf-8") as f:
namen = [zeile.strip() for zeile in f if zeile.strip()]
if not namen:
print("leer")
return
zaehler = Counter(namen)
print("Ergebnis der Klassensprecherwahl\n")
print(f"Es sind heuer {len(zaehler)} Kandidaten angetreten.\n")
for name, stimmen in zaehler.most_common():
print(f"{name}: {stimmen}")
sieger, stimmen = zaehler.most_common(1)[0]
print(f"\n{sieger} hat mit {stimmen} Stimmen gewonnen.")
auswertung_datei("klassensprecher.csv")

0
csv/vornamen/__init__.py Normal file
View File

BIN
csv/vornamen/code.zip Normal file

Binary file not shown.

60
csv/vornamen/main.py Normal file
View File

@@ -0,0 +1,60 @@
# -*- coding: ansi -*-
from print_tables import tables
import csv
# Klassen-Daten einlesen
klassen = {
"s6a": [],
"s6b": [],
"s6c": [],
"s6ds": [],
"s6es": []
}
try:
with open("vornamen_6kl_25.csv", "r", encoding="utf-8") as f:
reader = csv.reader(f, delimiter=";")
for row in reader:
for i, key in enumerate(klassen.keys()):
if i >= len(row):
continue
name = row[i].strip()
if name:
klassen[key].append(name)
except FileNotFoundError as err:
print(err)
# Alphabetisch sortieren und unique machen, aber Gesamtzahl vorher sichern
gesamtzahlen = {}
for key in klassen:
gesamtzahlen[key] = len(klassen[key]) # Anzahl aller Sch<63>ler inkl. Duplikate
klassen[key] = sorted(set(klassen[key])) # Unique + alphabetisch
# Originale Tabelle ausgeben
tables.print_table(klassen)
# Statistik vorbereiten
stats = {
"Klasse": [],
"Eigene Vornamen": [],
"Sch<EFBFBD>ler gesamt": []
}
gesamt_schueler = 0
for klasse, namen in klassen.items():
stats["Klasse"].append(klasse)
stats["Eigene Vornamen"].append(len(namen))
stats["Sch<EFBFBD>ler gesamt"].append(gesamtzahlen[klasse])
gesamt_schueler += gesamtzahlen[klasse]
# Statistik-Tabelle ausgeben
print("\nKlassenstatistik:")
tables.print_table(stats)
print(f"\nGesamtanzahl Sch<63>ler: {gesamt_schueler}")
# Alle unique Namen <20>ber alle Klassen
alle_namen = set()
for namen in klassen.values():
alle_namen.update(namen)
print(f"Gesamtzahl eigene Vornamen: {len(alle_namen)}")

View File

@@ -0,0 +1,38 @@
class tables:
@staticmethod
def print_table(data: dict, sum_row: dict = None):
"""
print a formatted table from a dict
:param data: dict with column names as keys and list of column values
:param sum_row: optional dict with the same keys for a sum/total row
"""
# Berechne die maximale Breite jeder Spalte (Header vs. Inhalte vs. Summe)
col_widths = {}
for k, v in data.items():
max_content_len = max((len(str(name)) for name in v), default=0)
header_len = len(k)
sum_len = len(str(sum_row[k])) if sum_row and k in sum_row else 0
col_widths[k] = max(max_content_len, header_len, sum_len)
# Header drucken
header = " | ".join(k.ljust(col_widths[k]) for k in data.keys())
separator = "-+-".join("-" * col_widths[k] for k in data.keys())
print(header)
print(separator)
# Zeilen drucken
max_len = max(len(v) for v in data.values())
for i in range(max_len):
row = []
for key in data.keys():
if i < len(data[key]):
row.append(str(data[key][i]).ljust(col_widths[key]))
else:
row.append(" " * col_widths[key])
print(" | ".join(row))
# Summe drucken, falls <20>bergeben
if sum_row:
print(separator)
sum_line = " | ".join(str(sum_row[k]).ljust(col_widths[k]) for k in data.keys())
print(sum_line)

View File

@@ -0,0 +1,28 @@
Lilli Marie;Vandita;Adrian;Ho;Stella
Lena Maria;Nico;Emma;Kamilla;Benjamin
Miriam;Sascha;Ella;Nina;Linda
Valentina;Lena;Johanna;Matthias;Kevin
Emily;Elias;Jana;Nils;Luisa
Laura;Maximilian;Raphael;Jonathan;Anna
Eva;Niklas;Klara;Luka;Florian
Lara;Ilia;Sarah;Emilia;Elias
Mykyta;Celina;Frida;Emma;Hannah
Selina;Pia-Amelie;Anna;Matthias;Simon
Julia;Mona;Katrin;Tristan;Patrick
Anna-Lisa;Luzia;Maja;Jakab;Maximilian
David-Dimitrie;Anna;Sebastian;Paul;Timo
Sarah Marie;Jeremias;Sophia;Maximilian;Paul
Nicole;Marie;Sophie Luisa;Zoey;Paul
Pavlo;Mark Lipeng;Alice Isabell;Benedikt;Nico
Alexandra;Sebastian;Verena;Samuel;Anika
;;Valentina;Nina;Matteo
;;Anna;Moritz;Jakob
;;Illia;Patrick;
;;Larissa;Din;
;;Manuel;Dániel;
;;Anna;Theresa;
;;Michael;Michael;
;;Paula;Katharina;
;;Nina;;
;;Bianca;;
;;Felix;;
1 Lilli Marie Vandita Adrian Ho Stella
2 Lena Maria Nico Emma Kamilla Benjamin
3 Miriam Sascha Ella Nina Linda
4 Valentina Lena Johanna Matthias Kevin
5 Emily Elias Jana Nils Luisa
6 Laura Maximilian Raphael Jonathan Anna
7 Eva Niklas Klara Luka Florian
8 Lara Ilia Sarah Emilia Elias
9 Mykyta Celina Frida Emma Hannah
10 Selina Pia-Amelie Anna Matthias Simon
11 Julia Mona Katrin Tristan Patrick
12 Anna-Lisa Luzia Maja Jakab Maximilian
13 David-Dimitrie Anna Sebastian Paul Timo
14 Sarah Marie Jeremias Sophia Maximilian Paul
15 Nicole Marie Sophie Luisa Zoey Paul
16 Pavlo Mark Lipeng Alice Isabell Benedikt Nico
17 Alexandra Sebastian Verena Samuel Anika
18 Valentina Nina Matteo
19 Anna Moritz Jakob
20 Illia Patrick
21 Larissa Din
22 Manuel Dániel
23 Anna Theresa
24 Michael Michael
25 Paula Katharina
26 Nina
27 Bianca
28 Felix