Advertisement
Guest User

Untitled

a guest
Mar 30th, 2015
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.81 KB | None | 0 0
  1. # -*- coding: UTF8 -*-
  2. #!/usr/bin/env python3
  3.  
  4.  
  5. class Vokabel:
  6.  
  7.     def __init__(self,dicto):
  8.         self.info = dicto
  9.  
  10.  
  11.     def anzeigen(self,sprache):
  12.         return(self.info[sprache])
  13.  
  14.  
  15.  
  16.  
  17. class Fach:
  18.  
  19.     def __init__(self):
  20.         self.vok_liste=[]
  21.  
  22.     def vokabel_anzahl(self):
  23.         print("Es befinden sich momentan",len(self.vok_liste),"Vokabeln in diesem Fach")
  24.        
  25.  
  26.     def hinzufuegen(self,vokabel_objekt):
  27.         """vokabel ist Objekt"""
  28.         self.vok_liste.append(vokabel_objekt)
  29.  
  30.     def ausgeben_uebersetzung(self,vokabel_string,sprache):
  31.         """vokabel ist string"""
  32.         for vok in self.vok_liste:
  33.             for i in range(len(vok.anzeigen('deu'))):
  34.                 if vok.anzeigen('deu')[i]==vokabel_string:
  35.                     try:
  36.                         return vok.anzeigen(sprache)
  37.                     except KeyError as err:
  38.                         print("Diese Sprache existiert nicht.",err)
  39.                 else:
  40.                     print("Dieses Wort existiert in unserer Datenbank nicht.")
  41.                      
  42.                
  43.    
  44.     def ausgeben_obj(self,vok_string):#vok_string jtz wie gewohnt geht aber nicht für voks mit mehreren übersetzungen
  45.         lst=[]    
  46.         for vok in self.vok_liste:
  47.             lst.append(vok)
  48.         lst2=[]
  49.         for i in range(len(lst)):
  50.             lst2.append(lst[i].anzeigen('deu'))
  51.  
  52.         for i in range(len(lst2)):
  53.             for j in range(len(lst2[i])):
  54.                 if lst2[i][j]==vok_string :
  55.                     idx_vok=i
  56.                     break
  57.             print("Diese Vokabel existiert so in unserer Datenbank nicht. Stellen sie sicher sich nicht verschrieben zu haben")
  58.         obj=lst[idx_vok]
  59.         return obj
  60.        
  61.        
  62.        
  63.                    
  64.     def entfernen(self,vokabel_string):
  65.         """vokabel ist string """
  66.         for i in self.vok_liste:
  67.             abgleichsvar=i.anzeigen("deu")
  68.             if abgleichsvar==vokabel_string:
  69.                 self.vok_liste.remove(i)
  70.                 break
  71.            
  72.  
  73.  
  74.  
  75.  
  76.  
  77. class Box:
  78.  
  79.     def __init__(self,fach0,fach1,fach2,fach3):
  80.        
  81.         self.faecher = {'fach0':fach0,'fach1':fach1,'fach2':fach2,'fach3':fach3}
  82.  
  83.     def umstapeln(self,quellfach,zielfach,vokabel):
  84.  
  85.         try:
  86.            
  87.             zu_kopierende_vokabel= self.faecher[quellfach].ausgeben_obj(vokabel)
  88.             self.faecher[quellfach].entfernen(vokabel)
  89.             self.faecher[zielfach].hinzufuegen(zu_kopierende_vokabel)
  90.         except ValueError as err:
  91.            
  92.             print("Error1:" ,err)
  93.  
  94.         except TypeError as err:
  95.  
  96.             print("Error2:" , err)
  97.         except:
  98.            
  99.             print("Unbekannter Fehler")
  100.  
  101.  
  102.  
  103.  
  104.  
  105. vok=Vokabel({"deu":["hund"],"eng":["dog"]})
  106. fach=Fach()
  107. fach.hinzufuegen(vok)
  108. fach.ausgeben_uebersetzung("hund","eng")
  109. new_vok=fach.ausgeben_obj(["hund"])
  110. new_vok.anzeigen("deu")
  111. """
  112. dicta={"deu":["hund"],"eng":["dog"]}    
  113. print("Starte Test des Moduls Vokabel")
  114. vokabel=Vokabel(dicta)
  115. print(vokabel.anzeigen("eng"))
  116. print()
  117. print("Modul Vokabel getestet")
  118. print()
  119. print("Starte Test des Moduls Fach")
  120. fach0=Fach()
  121. fach0.hinzufuegen(vokabel)
  122. print(fach0.ausgeben_uebersetzung("hund","eng"))
  123. para="hund"
  124. neue_vokabel=fach0.ausgeben_obj(para)
  125. print(neue_vokabel.anzeigen("eng"))
  126. print("Modul Fach getestet")
  127. print()
  128. print("Starte Test des Moduls Box")
  129. fach1=Fach()
  130. fach2=Fach()
  131. fach3=Fach()
  132. box=Box(fach0,fach1,fach2,fach3)
  133. box.umstapeln("fach0","fach1",para)
  134. print(fach1.ausgeben_uebersetzung("hund","eng"))
  135. fach0.vokabel_anzahl()
  136. fach1.vokabel_anzahl()
  137. fach2.vokabel_anzahl()
  138. print("fach0/1 entfernen test:")
  139. fach0.entfernen(["hund"])
  140. fach0.vokabel_anzahl()
  141. fach1.entfernen(["hund"])
  142. fach1.vokabel_anzahl()
  143. print("Modul Box getestet")
  144. """
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement