minus-Berichtigung eingfügt, komma statt pUnkt korregiert, wurzel-Berechnung eingefügt
authorRatten <ratten@buecherratten.in-berlin.de>
Wed, 13 Apr 2022 17:38:12 +0000 (19:38 +0200)
committerRatten <ratten@buecherratten.in-berlin.de>
Wed, 13 Apr 2022 17:38:12 +0000 (19:38 +0200)
lerne.py

index ecb034dabd7794ae72946feb9cc992b5e8341ced..cdbe9c34b59664e7bd94b77ad87c52fe99310776 100644 (file)
--- a/lerne.py
+++ b/lerne.py
@@ -90,21 +90,27 @@ class user():
         AntwortWerte=[]
         rightAnswer=0
         self.fights=self.fights +1        
-        UserAntwort=input(self.Monster.Frage)                    
-
+        UserAntwort=input(self.Monster.Frage)
+        
         #liste mit Antworten erstellen
         for Num in self.Monster.Antwort:
-            for art in self.Monster.Antwort[Num]:
+            for art in self.Monster.Antwort[Num]:                
                 #print(self.Monster.Antwort[Num][art])
+                #if self.Monster.Antwort[Num][art] < 0:
                 AntwortWerte.append(self.Monster.Antwort[Num][art])
                 
         #Antworten prüfen
         while hinweis < 3 and not len(AntwortWerte) == 0:
 
             #schauen ob Antwort float ist
-            if str(UserAntwort).replace('.','',1).isdigit():
+            if str(UserAntwort).replace('.','',1).isdigit() or str(UserAntwort).replace('-','',1).isdigit() or str(UserAntwort).replace(',','',1).isdigit():
+                if UserAntwort.find(",") >= 0:
+                    UserAntwort=UserAntwort.replace(',','.',1)                    
                 UserAntwort=float(UserAntwort)
-                
+                #print("UserAntwort ist digit")
+                #if UserAntwort < 0:
+                #    print("Unter Null in Antwort")
+        
             if UserAntwort == "" and hinweis < 3:
                 print("keine Antwort gegeben")
                 hinweis=self.hinting(hinweis)
@@ -404,7 +410,7 @@ class Antworten():
         return FinRechnung
     
     def norm_berechnung(self, Rechnung):
-        permitchars=["-", ".", " ", "+", "*", "/", "^", "(", ")", ":"]
+        permitchars=["-", ".", " ", "+", "*", "/", "^", "(", ")", ":", "r"]
         charRechnung=[]
         executRechnung=""
         #print(str(Rechnung)+" vor umwandlung")#debug
@@ -414,9 +420,9 @@ class Antworten():
                 charRechnung.append(char)
             elif char in permitchars:
                 charRechnung.append(char)
-            
         executRechnung=''.join(charRechnung)
         executRechnung=executRechnung.replace("^", "**")
+        executRechnung=executRechnung.replace("r", "** 0.5")
         #print(str(executRechnung)+" berechnende Rechnung")#debug
         antw=eval(executRechnung)
         antwort=round(antw,2)
@@ -597,7 +603,7 @@ print(Folge)
 ####
 #Wenn nur bestimmte Fragen geübt werden sollen, nächste Zeile mit Folge Kommentarzeichen entfernen und in die Klammern die Nummern der Fragen eintragen, mit Komma getrennt
 ###
-#Folge=[19, 20, 21] #debug Fragennummer
+#Folge=[27] #debug Fragennummer
 
 Runde=0
 weiter=True