# deklination_ML.py

a_endung = ["a","ae","ae","am","a","ae","arum","is","as","is"]
o_endung = ["us","i","o","um","o","i","orum","is","os","is"]
numeri = ["Singular","Plural"]
casus = ["Nom","Gen","Dat","Akk","Abl"]

def formen(klasse,stamm):
    ''' (string,string) -> list of strings'''
    formliste = []
    if klasse == "a":
        for endung in a_endung:
            formliste.append(stamm + endung)
    else:
        for endung in o_endung:
            formliste.append(stamm + endung)
    print(formliste)
    return formliste
 

print("Dieses Programm ermöglicht es lateinische Formen zu generieren.")
abfrage = "Geben sie ein Wort im Nominativ Singular ein, das sie deklinieren wollen (Enter beendet das Programm): "
wort = input(abfrage)

while wort != "":
    if wort[-1] == "a" or wort[-2:]=="us":
        if wort[-1] == "a":
            formliste = formen("a",wort[:-1])
        else:
            formliste = formen("us",wort[:-2])
        for num in numeri:
            print(num)
            for case in casus:
                print(case,":",formliste.pop(0))
    else:
        print("Dieses Wort kann nicht dekliniert werden (nur Endungen '-us' und '-a' sind zulässlich")
    wort = input(abfrage)

 
    
