Files
INF6B/csv/vornamen/main.py
2025-12-18 13:53:25 +01:00

63 lines
1.6 KiB
Python

# -*- coding: ansi -*-
from print_tables import tables
import csv
# Klassen-Daten einlesen
klassen = {
"s6a": [],
"s6b": [],
"s6c": [],
"s6ds": [],
"s6es": []
}
# test commit
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ü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üler gesamt": []
}
gesamt_schueler = 0
for klasse, namen in klassen.items():
stats["Klasse"].append(klasse)
stats["Eigene Vornamen"].append(len(namen))
stats["Schüler gesamt"].append(gesamtzahlen[klasse])
gesamt_schueler += gesamtzahlen[klasse]
# Statistik-Tabelle ausgeben
print("\nKlassenstatistik:")
tables.print_table(stats)
print(f"\nGesamtanzahl Schüler: {gesamt_schueler}")
# Alle unique Namen über alle Klassen
alle_namen = set()
for namen in klassen.values():
alle_namen.update(namen)
print(f"Gesamtzahl eigene Vornamen: {len(alle_namen)}")