# -*- coding: utf-8 -*- """ @author: aeb1 """ def fakultaet(zahl): resultat = 1 try: while zahl >= 1 : resultat = resultat * zahl zahl = zahl - 1 except: print("Bitte nur ganze Zahlen eingeben") else: return resultat def speichereFakultaet(path, anzahl): with open(path, "w") as file1: for i in range(1,anzahl+1): res = fakultaet(i) file1.write(str(res) + "\n") # Methode anwenden speichereFakultaet("ueb9.txt", 8) def zahlenLesen(path): with open(path, "r") as file: for line in file: print(line) # Methode anwenden zahlenLesen("ueb9.txt") # Wettkampf: Ergaenzugen import WettkampfV2.Teilnehmer as t class Wettkampf(): def __init__(self): self.__teilnehmerListe = list() def add_teilnehmer(self, teilnehmer): if isinstance(teilnehmer, t.Teilnehmer): self.__teilnehmerListe.append(teilnehmer) else: raise TypeError("Ungültiger Teilnehmer: " + str(teilnehmer)) def get_teilnehmerListe(self): return self.__teilnehmerListe def berechneResultat(self, teilnehmer): gesamtPunktzahl = teilnehmer.get_punkte() alter = teilnehmer.get_alter() if teilnehmer.get_kategorie() == "Junior": gesamtPunktzahl = (1+(17-alter)/10) * gesamtPunktzahl elif teilnehmer.get_kategorie() == "Senior": gesamtPunktzahl = (1+(alter-50)/50) * gesamtPunktzahl return gesamtPunktzahl def erzeugeRangliste(self): self.__teilnehmerListe.sort(key = self.berechneResultat, reverse = True) return self.__teilnehmerListe def save(self, fileName): with open(fileName, "w") as file: for elem in self.__teilnehmerListe: res = " -> Resultat: " + str(round(self.berechneResultat(elem),2)) file.write(str(elem) + res + "\n") #importiere Person und Adresse import PersonAddressV2.Person as p import PersonAddressV2.Adresse as a personList = list() #Personen lesen with open("Person.txt", "r") as file: for line in file: entries = line.split(";") vorname = entries[0] nachname = entries[1] strasse = entries[2] nr = entries[3] plz = entries[4] ort = entries[5] adresse = a.Adresse(strasse, nr, plz, ort) personList.append(p.Person(vorname, nachname, adresse)) for person in personList: print(str(person))