Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: UTF8 -*-
- #!/usr/bin/env python3
- class Vokabel:
- def __init__(self,dicto):
- self.info = dicto
- def anzeigen(self,sprache):
- return(self.info[sprache])
- class Fach:
- def __init__(self):
- self.vok_liste=[]
- def vokabel_anzahl(self):
- print("Es befinden sich momentan",len(self.vok_liste),"Vokabeln in diesem Fach")
- def hinzufuegen(self,vokabel_objekt):
- """vokabel ist Objekt"""
- self.vok_liste.append(vokabel_objekt)
- def ausgeben_uebersetzung(self,vokabel_string,sprache):
- """vokabel ist string"""
- for vok in self.vok_liste:
- for i in range(len(vok.anzeigen('deu'))):
- if vok.anzeigen('deu')[i]==vokabel_string:
- try:
- return vok.anzeigen(sprache)
- except KeyError as err:
- print("Diese Sprache existiert nicht.",err)
- else:
- print("Dieses Wort existiert in unserer Datenbank nicht.")
- def ausgeben_obj(self,vok_string):#vok_string jtz wie gewohnt geht aber nicht für voks mit mehreren übersetzungen
- lst=[]
- for vok in self.vok_liste:
- lst.append(vok)
- lst2=[]
- for i in range(len(lst)):
- lst2.append(lst[i].anzeigen('deu'))
- for i in range(len(lst2)):
- for j in range(len(lst2[i])):
- if lst2[i][j]==vok_string :
- idx_vok=i
- break
- print("Diese Vokabel existiert so in unserer Datenbank nicht. Stellen sie sicher sich nicht verschrieben zu haben")
- obj=lst[idx_vok]
- return obj
- def entfernen(self,vokabel_string):
- """vokabel ist string """
- for i in self.vok_liste:
- abgleichsvar=i.anzeigen("deu")
- if abgleichsvar==vokabel_string:
- self.vok_liste.remove(i)
- break
- class Box:
- def __init__(self,fach0,fach1,fach2,fach3):
- self.faecher = {'fach0':fach0,'fach1':fach1,'fach2':fach2,'fach3':fach3}
- def umstapeln(self,quellfach,zielfach,vokabel):
- try:
- zu_kopierende_vokabel= self.faecher[quellfach].ausgeben_obj(vokabel)
- self.faecher[quellfach].entfernen(vokabel)
- self.faecher[zielfach].hinzufuegen(zu_kopierende_vokabel)
- except ValueError as err:
- print("Error1:" ,err)
- except TypeError as err:
- print("Error2:" , err)
- except:
- print("Unbekannter Fehler")
- vok=Vokabel({"deu":["hund"],"eng":["dog"]})
- fach=Fach()
- fach.hinzufuegen(vok)
- fach.ausgeben_uebersetzung("hund","eng")
- new_vok=fach.ausgeben_obj(["hund"])
- new_vok.anzeigen("deu")
- """
- dicta={"deu":["hund"],"eng":["dog"]}
- print("Starte Test des Moduls Vokabel")
- vokabel=Vokabel(dicta)
- print(vokabel.anzeigen("eng"))
- print()
- print("Modul Vokabel getestet")
- print()
- print("Starte Test des Moduls Fach")
- fach0=Fach()
- fach0.hinzufuegen(vokabel)
- print(fach0.ausgeben_uebersetzung("hund","eng"))
- para="hund"
- neue_vokabel=fach0.ausgeben_obj(para)
- print(neue_vokabel.anzeigen("eng"))
- print("Modul Fach getestet")
- print()
- print("Starte Test des Moduls Box")
- fach1=Fach()
- fach2=Fach()
- fach3=Fach()
- box=Box(fach0,fach1,fach2,fach3)
- box.umstapeln("fach0","fach1",para)
- print(fach1.ausgeben_uebersetzung("hund","eng"))
- fach0.vokabel_anzahl()
- fach1.vokabel_anzahl()
- fach2.vokabel_anzahl()
- print("fach0/1 entfernen test:")
- fach0.entfernen(["hund"])
- fach0.vokabel_anzahl()
- fach1.entfernen(["hund"])
- fach1.vokabel_anzahl()
- print("Modul Box getestet")
- """
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement