Advertisement
MRtecno98

Project Juno Android Version V 1.0.0

May 6th, 2017
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.86 KB | None | 0 0
  1. import time , sys , sl4a , re
  2.  
  3. def write(msg) :
  4.     andr = sl4a.Android()
  5.     print(msg)
  6.     andr.ttsSpeak(msg)
  7.    
  8. operatorRegex = re.compile(r"""(
  9.    ((.*)               #Testo +
  10.    (\s+))?             #Spazi iniziali
  11.    (quanto\s{1}?fa|qual'è\s{1}?il\s{1}?risultato di|calcolami)? #Domanda
  12.     (\s*)       #Spazio
  13.     (\d+)       #Primo Numero
  14.     (\s*)       #Spazio
  15.     (\+|\*|-|/|\*\*)    #Operatore
  16.     (\s*)       #Spazio
  17.     (\d+)       #Secondo Numero
  18.    )""" , re.VERBOSE)
  19.  
  20. memory = {}
  21.  
  22. write("Ciao sono Juno, cosa mi vuoi dire?")
  23.  
  24. while True :
  25.  
  26.     d = input(">>>")
  27.  
  28.     d = d.lower() \
  29.          .replace("?","") \
  30.          .replace("!","") \
  31.          .replace(".","") \
  32.          .replace(",","") \
  33.          .replace(":","")
  34.          
  35.     if d == "" :
  36.         continue
  37.        
  38.     if operatorRegex.search(d) != None :
  39.             Match = operatorRegex.search(d)
  40.             Num1 = int(Match.group(7))
  41.             Num2 = int(Match.group(11))
  42.             Operator = Match.group(9)
  43.             ris = 0
  44.             if Operator == "+" :
  45.                 ris = Num1 + Num2
  46.             elif Operator == "-" :
  47.                 ris = Num1 - Num2
  48.             elif Operator == "*" :
  49.                 ris = Num1 * Num2
  50.             elif Operator == "/" :
  51.                 ris = Num1 / Num2
  52.             elif Operator == "**" :
  53.                 ris = Num1 ** Num2
  54.  
  55.             if len(str(ris)) < 40 :
  56.                 write("Il risultato è: " + str(ris))
  57.             else :
  58.                 write("Il risultato è:\n" + str(ris))
  59.             continue
  60.        
  61.     if d == "esci" :
  62.         write("\nCiao, spero di rivederti!\n")
  63.         time.sleep(2)
  64.         sys.exit()
  65.      
  66.     if d in memory :
  67.         write(memory[d])
  68.     else :
  69.         write("Non ho capito, cosa devo rispondere?")
  70.         r = input(">>>")
  71.         if r != "niente" :
  72.             memory[d] = r
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement