Problema codice non funzionante

di il
2 risposte

Problema codice non funzionante

Buongiorno ragazzi,
avrei bisogno di aiuto perchè non riesco a risolvere gli errori di questo mio codice. Potreste provare ad aggiustarmelo?
PS. mi fareste un grandissimo favore se poi mi allegate sia il file py corretto che anche l'exe dato che ho provato 2000000 modi ma ancora non ci riesco. Grazie ancora!
import pyperclip
from random import randint

print("Ciao mondo, sono Bot! @.@")
print("\nSei nuovo o mi conosci già bene?")
print("\nHai voglia di fare una bella panoramica all'interno del mio programma o sai già tutto come funziona e quindi vuoi passare al menu?")
print("rispondi con n -> new o con o -> old")
risposta_iniziale = input()
if(risposta_iniziale == "n"):
    print("bene...")
    print("\nHey tu, come ti chiami?")
    nome = input()
    print("\nCiao " + nome + " piacere di conoscerti ;)")

    if(nome == "gianpierpatrizio"):
        print("MA CHE NOME DI ME***")
    else:
        print("Bellissimo nome, complimenti ai tuoi genitori!")

    lunghezza_nome = len(nome)
    lunghezza_nome_stringa = str(lunghezza_nome)
    print("Lo sapevi che il tuo nome ha " + lunghezza_nome_stringa + " lettere?")
    anno_nascita = input("\nIn che anno sei nato? ")
    anno_nascita_int = int(anno_nascita)
    anno_corrente = input("\nIn che ci troviamo? ")
    anno_corrente_int = int(anno_corrente)
    eta = anno_corrente_int - anno_nascita_int
    print(nome + " hai esattamente " + str(eta) + "anni...")

    if(eta < 18):
        print("...beato te!")
        anni_da_compiere = eta + 1
        print("\nL'anno prossimo ne avrai " + str(anni_da_compiere))

    else:
        print("... Sei proprio un vecchietto! :P")
        eta_silente = 150
        print("\nTra " + str(eta_silente - eta) + " anni, sarai vecchio come Albus Silente")

    risposta = ""
    while(risposta != "0"):
        print("\n INDOVINELLO: Dieci uccellini stanno appollaiati su un ramo. Il cacciatore spara e ne colpisce uno. Quanti uccellini rimangono? (rispondi con un numero... (0,1,2,3,4...))")
        risposta = input()



    animali = ["gatto", "cane", "topo", "ghepardo", "pantera"]
    print("\nQual è il tuo animale preferito?")
    for animale in animali:
        print(animale)
    print("...indicalo con un numero da 0 a 4")
    numero_animale = int(input())
    if(numero_animale < 0 or numero_animale > 4):
        print("Non hai capito proprio una cippa!")
    else:
        animale_scelto = animali[numero_animale]
        print(animale_scelto + " ... ottima scelta!!")

    print("Hai voglia di fare un gioco?")
    risposta_gioco = input()

    if(risposta_gioco != "si"):
        print("se hai voglia di giocare allora prova a rieseguire il codice da capo e scrivere 'si', altrimenti scrivi 'no'")
        risposta_gioco_no = input()
        if(risposta_gioco_no == "no"):
          print("Ok, " + nome + " capisco che c'è qualcosa che non va o comunque non hai nessuna voglia di divertirti con me: il tuo carissimo e fidato amico bot. Fa niente non mi offendo... alla prossima!")
        

        
    else:
      print("CARTA-FORBICI-SASSO contro PYTHON")
      print("\nScopri se riesci a contrastare la potenza del linguaggio di programmazione python")
      print("\npremi INVIO per iniziare...")
      input()
      tipo_gioco = ["gioco sporco","gioco pulito"]
      print("\nHai intenzione di giocare sporco o giocare pulito?")
      for gioco in tipo_gioco:
        print(gioco)
      print("Premi 0 per il gioco sporco e 1 per il gioco pulito")
      gioco_scelto_num = int(input())
      gioco_scelto = tipo_gioco[gioco_scelto_num]
      if(gioco_scelto_num == 0):
        comando_sporco = ""
        while(comando_sporco != "adesso basta"):
          print("\nAaaaah, il signorino qui vuole giocare sporco eh? Bene allora non uscirai da qui con una sola vittoria!")
          armi_sporche = ["carta sporca", "forbici sporche", "sasso sporco"]
          print("\nSeleziona la tua arma del delitto nella lista qui sotto riportata con un numero da 0 a 2 (premi 0 per carta, 1 per forbici e 2 per sasso)")
          for arma_sporca in armi_sporche:
            print(arma_sporca)
          num_scelto_sporco = int(input())
          arma_scelta_sporca = armi_sporche[num_scelto_sporco]
          print("\nMhmm, " + arma_scelta_sporca + " giusto? Pessima scelta! Ti schiaccierò senza problemi! -,-")

          arma_Bot_sporca = ""
          if(arma_scelta_sporca == "carta sporca"):
            arma_Bot_sporca = "forbici sporche"
          if(arma_scelta_sporca == "forbici sporche"):
            arma_Bot_sporca = "sasso sporco"
          if(arma_scelta_sporca == "sasso sporco"):
            arma_Bot_sporca = "carta sporca"
          print("...Anche io ho fatto la mia terrificante scelta!")
          print("\nPremi INVIO per scoprire se hai vinto!")
          input()
          print("Io ho scelto: " + arma_Bot_sporca)
          print(nome + ", hai perso malissimo! Ti avevo avvisato. La prossima volta prova a giocare pulito e avrai una piccola chance!")
          print("\nscrivi il comando 'adesso basta' se non ne puoi più!")
          comando_sporco = input()
      else:
        punteggio_giocatore = 0
        punteggio_bot = 0
        comando = ""
        while(comando != "ora basta"):
            print("\nBuona fortuna " + nome + ", che vinca il migliore!")
            armi = ["carta", "forbici", "sasso"]
            print("\nPerfetto, scelgli ora la tua arma tra la lista qui sotto riportata")
            for arma in armi:
                print(arma)
            print("\nEsprimi la tua decisione con un numero da 0 a 2 (premi 0 per carta, 1 per forbici e 2 per sasso)")
            num_scelto = int(input())
            arma_scelta = armi[num_scelto]
            print("\nMhmm, " + arma_scelta + " giusto? Ottima scelta!")
            
            
            numero_bot = randint(0,2)
            arma_bot = armi[numero_bot]
            print("...Anche io ho fatto la mia scelta!")
            verdetto = ""
            if(arma_scelta == "carta" and arma_bot == "sasso"):
              verdetto = nome + " bravo! Hai vinto!!! Continua a giocare onesto nella tua vita e non incappare strade sconosiute e trionferai. Non vincerai sempre ma almeno starai bene in sintonia con te stesso! Congratulazioni ancora!"
              punteggio_giocatore = punteggio_giocatore + 1
            if(arma_scelta == "forbici" and arma_bot == "carta"):
              verdetto = nome + " bravo! Hai vinto!!! Continua a giocare onesto nella tua vita e non incappare strade sconosiute e trionferai. Non vincerai sempre ma almeno starai bene in sintonia con te stesso! Congratulazioni ancora!" 
              punteggio_giocatore = punteggio_giocatore + 1
            if(arma_scelta == "sasso" and arma_bot == "forbici"):
              verdetto = nome + " bravo! Hai vinto!!! Continua a giocare onesto nella tua vita e non incappare strade sconosiute e trionferai. Non vincerai sempre ma almeno starai bene in sintonia con te stesso! Congratulazioni ancora!" 
              punteggio_giocatore = punteggio_giocatore + 1 
            if(arma_scelta == arma_bot):
              verdetto = "pareggio: non mi abbatto nè festeggio"
            if(verdetto == ""):
              verdetto = "Ti ho battuto! Non fa niente puoi continuare a giocare con me finchè vuoi e non dimenticarti mai che la vita è piena di fallimenti! Non abbatterti, piuttosto rialziamoci insieme e diventiamo grandi!"
              punteggio_bot = punteggio_bot + 1
            print("\nPremi INVIO per scoprire se hai vinto!")
            input()
            print("Io ho scelto: " + arma_bot)
            print(verdetto)
            print("\nPunteggio:")
            print(nome + "-Bot: " + str(punteggio_giocatore) + "-" + str(punteggio_bot))
            print("\nscrivi il comando 'ora basta' se non ne puoi più!")
            comando = input()

    print("\nRieccoci, ti è piaciuta la partita? Ti va di provare una mia nuovissima funzionalità di ricordarti le password?")
    risposta_password = input()
    if(risposta_password == "si"):
      psw = {'lostuporeconosce': 'lkq9u',
            'google_personale': 'Skywalker1631',
            'google_scuola_piti': 'Pit&Gio16',
            'google_scuola_gissi': 'Fagiolino07',
            'google_scuola_tatta': 'Fagiolino07',
            'Altervista_nonpersviluppatori': 'fEmVTrP3dYnA',
            'Wi-fi_passalacqua': 'ghFr2FG7NSUNSkgF',
            'Wi-fi_su_alla_casa': 'i8m4p47cyufza2c', 
            'pannello_controllo_casa(admin)': 'admin',
      }

      print("Quale password ti interessa?")
      for sito in psw:
          print(" -" + sito)

      sito_scelto = input()

      try:
          password_scelta = psw[sito_scelto]
          pyperclip.copy(password_scelta)
          print("\nPassword trovata, sei pronto ad incollarla!")
          input()
      except:
          print("\nIl sito da te specificato non compare nella tua lista. Aggiungilo nel codice o scrivi meglio per evitare errori")

      input("Premi INVIO per uscire...")    

    print("\nHai voglia di fare una cosa super TOP SECRET già che siamo a tema?")
    input("premi y(yes) per continuare ")
    print("Perfetto, ora ti spiego meglio... Con questa mia funzione potrai criptare o decriptare un messaggio in codice scritto in Cifrario di Cesare...")
    print("Premi INVIO per continuare...")

    MAX_KEY = 26

    def getMode():
        while(True):
            print("Innanzitutto scegli cosa vuoi fare...")
            print("c -> criptare | d -> decriptare | b -> brute force")
            mode = input().lower()
            if mode in "c d b".split():
                return mode
            else:
                print("c -> criptare | d -> decriptare | b -> brute force")

    def getMessage():
        print("Inserisci qui il tuo messaggio: ")
        return input()

    def getKey():
        key = 0
        while(True):
            print("Inserisci la chiave (1-%s)" % (MAX_KEY))
            key = int(input())
            if(key >= 1 and key <= MAX_KEY):
                return key

    def getTranslatedMessage(mode, message, key):
        translated = ''
        if(mode[0] == 'd'):
            key = -key

        for symbol in message:
            if symbol.isalpha():
                num = ord(symbol)
                num += key

                if(symbol.isupper()):
                    if num > ord('Z'):
                        num -= 26
                    elif num < ord('A'):
                        num += 26
                elif symbol.islower():
                        if num > ord('z'):
                            num -= 26
                        elif num < ord('a'):
                            num += 26
                translated += chr(num)
            else:
                translated += symbol

        return translated

    mode = getMode()
    message = getMessage()
    if(mode[0] != 'b'):
        key = getKey()

    if(mode[0] != 'b'):
        print("Il messaggio finale è: ")
        print(getTranslatedMessage(mode, message, key))
        pyperclip.copy(getTranslatedMessage(mode, message, key))
        print("\nHo gia anche pensato a copiartelo negli appunti... sei già pronto ad incollarlo! :-)")
    else:
        for key in range(1, MAX_KEY+1):
            print(key, getTranslatedMessage('d', message, key))

    print("\nPer ora è tutto, le mie funzioni finiscono qui. Cotatta lo sviluppatore per scoprire le nuove iniziative che sta posrtando avanti e per fornirgli i tuoi suggerimenti o idee. Per ulteriori informazioni visita il sito www.nonpersviluppatori.altervista.org")
    print("\nOra che hai provato tutte le mie funzionalità e hai fatto un bel tour all'interno del mio codice riavvia il programma e premi questa volta 'o' per aprire il menu e scegliere singolarmente ogni mia funzionalità che vuoi sfruttare...")
    input()
    

if(risposta_iniziale == "o"):
    menu = ['Presentazioni', 'Indovinello', 'animale preferito', 'CARTA-FORBICE-SASSO', 'ricordami la password', 'criptaggio e decriptaggio di testo', 'modalità intelligenza artificiale', 'calcolatrice']
    for sezione in menu:
        if(sezione == 'Presentazioni'):
            print("[1] " + sezione)
            continue
        if(sezione == 'Indovinello'):
            print("[2] " + sezione)
            continue
        if(sezione == 'animale preferito'):
            print("[3] " + sezione)
            continue
        if(sezione == 'CARTA-FORBICE-SASSO'):
            print("[4] " + sezione)
            continue
        if(sezione == 'ricordami la password'):
            print("[5] " + sezione)
            continue
        if(sezione == 'criptaggio e decriptaggio di testo'):
            print("[6] " + sezione)
            continue
        if(sezione == 'modalità intelligenza artificiale'):
            print("[7] " + sezione)
            continue
        if(selezione == 'calcolatrice'):
            print("[8] " + sezione)

    risposta_menu = input()
    if(risposta_meu == "1"):
            print("\nHey tu, come ti chiami?")
            nome = input()
            print("\nCiao " + nome + " piacere di conoscerti ;)")

            if(nome == "gianpierpatrizio"):
                print("MA CHE NOME DI ME***")
            else:
                print("Bellissimo nome, complimenti ai tuoi genitori!")

            lunghezza_nome = len(nome)
            lunghezza_nome_stringa = str(lunghezza_nome)
            print("Lo sapevi che il tuo nome ha " + lunghezza_nome_stringa + " lettere?")
            anno_nascita = input("\nIn che anno sei nato? ")
            anno_nascita_int = int(anno_nascita)
            anno_corrente = input("\nIn che ci troviamo? ")
            anno_corrente_int = int(anno_corrente)
            eta = anno_corrente_int - anno_nascita_int
            print(nome + " hai esattamente " + str(eta) + "anni...")

            if(eta < 18):
                print("...beato te!")
                anni_da_compiere = eta + 1
                print("\nL'anno prossimo ne avrai " + str(anni_da_compiere))

            else:
                print("... Sei proprio un vecchietto! :P")
                eta_silente = 150
                print("\nTra " + str(eta_silente - eta) + " anni, sarai vecchio come Albus Silente")


        if(risposta_menu == "2"):
            risposta = ""
            while(risposta != "0"):
                print("\n INDOVINELLO: Dieci uccellini stanno appollaiati su un ramo. Il cacciatore spara e ne colpisce uno. Quanti uccellini rimangono? (rispondi con un numero... (0,1,2,3,4...))")
                risposta = input()
        if(risposta_meu == "3"):
            animali = ["gatto", "cane", "topo", "ghepardo", "pantera"]
            print("\nQual è il tuo animale preferito?")
            for animale in animali:
                print(animale)
            print("...indicalo con un numero da 0 a 4")
            numero_animale = int(input())
            if(numero_animale < 0 or numero_animale > 4):
                print("Non hai capito proprio una cippa!")
            else:
                animale_scelto = animali[numero_animale]
                print(animale_scelto + " ... ottima scelta!!")
        if(risposta_meu == "4"):
            print("Hai voglia di fare un gioco?")
            risposta_gioco = input()

            if(risposta_gioco != "si"):
                print("se hai voglia di giocare allora prova a rieseguire il codice da capo e scrivere 'si', altrimenti scrivi 'no'")
                risposta_gioco_no = input()
                if(risposta_gioco_no == "no"):
                  print("Ok, " + nome + " capisco che c'è qualcosa che non va o comunque non hai nessuna voglia di divertirti con me: il tuo carissimo e fidato amico bot. Fa niente non mi offendo... alla prossima!")
                

                
            else:
              print("CARTA-FORBICI-SASSO contro PYTHON")
              print("\nScopri se riesci a contrastare la potenza del linguaggio di programmazione python")
              print("\npremi INVIO per iniziare...")
              input()
              tipo_gioco = ["gioco sporco","gioco pulito"]
              print("\nHai intenzione di giocare sporco o giocare pulito?")
              for gioco in tipo_gioco:
                print(gioco)
              print("Premi 0 per il gioco sporco e 1 per il gioco pulito")
              gioco_scelto_num = int(input())
              gioco_scelto = tipo_gioco[gioco_scelto_num]
              if(gioco_scelto_num == 0):
                comando_sporco = ""
                while(comando_sporco != "adesso basta"):
                  print("\nAaaaah, il signorino qui vuole giocare sporco eh? Bene allora non uscirai da qui con una sola vittoria!")
                  armi_sporche = ["carta sporca", "forbici sporche", "sasso sporco"]
                  print("\nSeleziona la tua arma del delitto nella lista qui sotto riportata con un numero da 0 a 2 (premi 0 per carta, 1 per forbici e 2 per sasso)")
                  for arma_sporca in armi_sporche:
                    print(arma_sporca)
                  num_scelto_sporco = int(input())
                  arma_scelta_sporca = armi_sporche[num_scelto_sporco]
                  print("\nMhmm, " + arma_scelta_sporca + " giusto? Pessima scelta! Ti schiaccierò senza problemi! -,-")

                  arma_Bot_sporca = ""
                  if(arma_scelta_sporca == "carta sporca"):
                    arma_Bot_sporca = "forbici sporche"
                  if(arma_scelta_sporca == "forbici sporche"):
                    arma_Bot_sporca = "sasso sporco"
                  if(arma_scelta_sporca == "sasso sporco"):
                    arma_Bot_sporca = "carta sporca"
                  print("...Anche io ho fatto la mia terrificante scelta!")
                  print("\nPremi INVIO per scoprire se hai vinto!")
                  input()
                  print("Io ho scelto: " + arma_Bot_sporca)
                  print(nome + ", hai perso malissimo! Ti avevo avvisato. La prossima volta prova a giocare pulito e avrai una piccola chance!")
                  print("\nscrivi il comando 'adesso basta' se non ne puoi più!")
                  comando_sporco = input()
              else:
                punteggio_giocatore = 0
                punteggio_bot = 0
                comando = ""
                while(comando != "ora basta"):
                    print("\nBuona fortuna " + nome + ", che vinca il migliore!")
                    armi = ["carta", "forbici", "sasso"]
                    print("\nPerfetto, scelgli ora la tua arma tra la lista qui sotto riportata")
                    for arma in armi:
                        print(arma)
                    print("\nEsprimi la tua decisione con un numero da 0 a 2 (premi 0 per carta, 1 per forbici e 2 per sasso)")
                    num_scelto = int(input())
                    arma_scelta = armi[num_scelto]
                    print("\nMhmm, " + arma_scelta + " giusto? Ottima scelta!")
                    
                    
                    numero_bot = randint(0,2)
                    arma_bot = armi[numero_bot]
                    print("...Anche io ho fatto la mia scelta!")
                    verdetto = ""
                    if(arma_scelta == "carta" and arma_bot == "sasso"):
                      verdetto = nome + " bravo! Hai vinto!!! Continua a giocare onesto nella tua vita e non incappare strade sconosiute e trionferai. Non vincerai sempre ma almeno starai bene in sintonia con te stesso! Congratulazioni ancora!"
                      punteggio_giocatore = punteggio_giocatore + 1
                    if(arma_scelta == "forbici" and arma_bot == "carta"):
                      verdetto = nome + " bravo! Hai vinto!!! Continua a giocare onesto nella tua vita e non incappare strade sconosiute e trionferai. Non vincerai sempre ma almeno starai bene in sintonia con te stesso! Congratulazioni ancora!" 
                      punteggio_giocatore = punteggio_giocatore + 1
                    if(arma_scelta == "sasso" and arma_bot == "forbici"):
                      verdetto = nome + " bravo! Hai vinto!!! Continua a giocare onesto nella tua vita e non incappare strade sconosiute e trionferai. Non vincerai sempre ma almeno starai bene in sintonia con te stesso! Congratulazioni ancora!" 
                      punteggio_giocatore = punteggio_giocatore + 1 
                    if(arma_scelta == arma_bot):
                      verdetto = "pareggio: non mi abbatto nè festeggio"
                    if(verdetto == ""):
                      verdetto = "Ti ho battuto! Non fa niente puoi continuare a giocare con me finchè vuoi e non dimenticarti mai che la vita è piena di fallimenti! Non abbatterti, piuttosto rialziamoci insieme e diventiamo grandi!"
                      punteggio_bot = punteggio_bot + 1
                    print("\nPremi INVIO per scoprire se hai vinto!")
                    input()
                    print("Io ho scelto: " + arma_bot)
                    print(verdetto)
                    print("\nPunteggio:")
                    print(nome + "-Bot: " + str(punteggio_giocatore) + "-" + str(punteggio_bot))
                    print("\nscrivi il comando 'ora basta' se non ne puoi più!")
                    comando = input()
        if(risposta_meu == "5"):
            print("\nRieccoci, ti è piaciuta la partita? Ti va di provare una mia nuovissima funzionalità di ricordarti le password?")
            risposta_password = input()
            if(risposta_password == "si"):
              psw = {'lostuporeconosce': 'lkq9u',
                    'google_personale': 'Skywalker1631',
                    'google_scuola_piti': 'Pit&Gio16',
                    'google_scuola_gissi': 'Fagiolino07',
                    'google_scuola_tatta': 'Fagiolino07',
                    'Altervista_nonpersviluppatori': 'fEmVTrP3dYnA',
                    'Wi-fi_passalacqua': 'ghFr2FG7NSUNSkgF',
                    'Wi-fi_su_alla_casa': 'i8m4p47cyufza2c', 
                    'pannello_controllo_casa(admin)': 'admin',
              }

              print("Quale password ti interessa?")
              for sito in psw:
                  print(" -" + sito)

              sito_scelto = input()

              try:
                  password_scelta = psw[sito_scelto]
                  pyperclip.copy(password_scelta)
                  print("\nPassword trovata, sei pronto ad incollarla!")
                  input()
              except:
                  print("\nIl sito da te specificato non compare nella tua lista. Aggiungilo nel codice o scrivi meglio per evitare errori")

              input("Premi INVIO per uscire...")
        if(risposta_meu == "6"):
            print("\nHai voglia di fare una cosa super TOP SECRET già che siamo a tema?")
            input("premi y(yes) per continuare ")
            print("Perfetto, ora ti spiego meglio... Con questa mia funzione potrai criptare o decriptare un messaggio in codice scritto in Cifrario di Cesare...")
            print("Premi INVIO per continuare...")

            MAX_KEY = 26

            def getMode():
                while(True):
                    print("Innanzitutto scegli cosa vuoi fare...")
                    print("c -> criptare | d -> decriptare | b -> brute force")
                    mode = input().lower()
                    if mode in "c d b".split():
                        return mode
                    else:
                        print("c -> criptare | d -> decriptare | b -> brute force")

            def getMessage():
                print("Inserisci qui il tuo messaggio: ")
                return input()

            def getKey():
                key = 0
                while(True):
                    print("Inserisci la chiave (1-%s)" % (MAX_KEY))
                    key = int(input())
                    if(key >= 1 and key <= MAX_KEY):
                        return key

            def getTranslatedMessage(mode, message, key):
                translated = ''
                if(mode[0] == 'd'):
                    key = -key

                for symbol in message:
                    if symbol.isalpha():
                        num = ord(symbol)
                        num += key

                        if(symbol.isupper()):
                            if num > ord('Z'):
                                num -= 26
                            elif num < ord('A'):
                                num += 26
                        elif symbol.islower():
                                if num > ord('z'):
                                    num -= 26
                                elif num < ord('a'):
                                    num += 26
                        translated += chr(num)
                    else:
                        translated += symbol

                return translated

            mode = getMode()
            message = getMessage()
            if(mode[0] != 'b'):
                key = getKey()

            if(mode[0] != 'b'):
                print("Il messaggio finale è: ")
                print(getTranslatedMessage(mode, message, key))
                pyperclip.copy(getTranslatedMessage(mode, message, key))
                print("\nHo gia anche pensato a copiartelo negli appunti... sei già pronto ad incollarlo! :-)")
            else:
                for key in range(1, MAX_KEY+1):
                    print(key, getTranslatedMessage('d', message, key))
        if(risposta_meu == "7"):
            import techcore , os , time , sys , re , pyperclip

            name = "Bot"
            version = "1.0.0"

            operatorRegex = re.compile(r"""(
                ((.*)               #Testo +
                (\s+))?             #Spazi iniziali
                (quanto\s{1}?fa|qual'è\s{1}?il\s{1}?risultato di|calcolami)? #Domanda
                (\s*)		#Spazio
                (\d+)		#Primo Numero
                (\s*)		#Spazio
                (\+|\*|-|/|\*\*)	#Operatore
                (\s*)		#Spazio
                (\d+)		#Secondo Numero
                )""" , re.VERBOSE)

            scfRegex = re.compile(r"""(
                (vuoi\s{1}giocare\s{1}a\s{1}sasso\s{1}carta\s{1}forbic(e|i)
                |giochiamo\s{1}a\s{1}sasso\s{1}carta\s{1}forbic(e|i)
                |giochiamo\s{1}a\s{1}scf|
                vuoi\s{1}giocare\s{1}a\s{1}scf)

            )""" , re.VERBOSE)

            noSaveExitRegex = re.compile(r"""(

                ((.*)(\s+))?(esci(\s{1})?senza(\s{1})?salvare)

            )""" , re.VERBOSE)

            cryptRegex = re.compile(r"""
                (([a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z]*)
                (\s{1}))?
                (crypt)
                (\s{1})
                ([a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|_]*)

            """ , re.VERBOSE)

            deCryptRegex = re.compile(r"""
                (([a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z]*)
                (\s{1}))?
                (decrypt)
                (\s{1})
                ([a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|_]*)

            """ , re.VERBOSE)

            if not os.path.isfile("memory.m") :
                memory = {"come ti chiami" : "Mi chiamo " + name , "quanti anni hai" : "2 anni" , "come stai" : "Bene" , "ciao " + name.lower() : "Ciao anche a te" , "bravo "  + name.lower() : "Grazie!" , "sai chi sono io?" : "Tu sei " + UName}
            else :
                memory = techcore.loadFromFile("memory.m")

            try:

                print("Ciao, sono " + name + ", cosa mi vuoi dire?")
                while True :
                    d = techcore.semplifyText(input(">>>"))

                    if d == "" :
                        continue

                    if "resetta la memoria" in d :
                        print("Vuoi davvero Cancellare?")
                        s = techcore.semplifyText(input(">>>"))
                        if "si" in s :
                            os.unlink("memory.m")
                            memory = {"come ti chiami" : "Mi chiamo " + name , "quanti anni hai" : "2 anni" , "come stai" : "Bene" , "ciao " + name.lower() : "Ciao anche a te" , "bravo "  + name.lower() : "Grazie!" , "sai chi sono io?" : "Tu sei " + UName}
                            print("Memoria Resettata!")
                        else :
                            print("Annullato")
                        continue
                    
                    if operatorRegex.search(d) != None :
                        Match = operatorRegex.search(d)
                        Num1 = int(Match.group(7))
                        Num2 = int(Match.group(11))
                        Operator = Match.group(9)
                        ris = 0
                        if Operator == "+" :
                            ris = Num1 + Num2
                        elif Operator == "-" :
                            ris = Num1 - Num2
                        elif Operator == "*" :
                            ris = Num1 * Num2
                        elif Operator == "/" :
                            ris = Num1 / Num2
                        elif Operator == "**" :
                            ris = Num1 ** Num2

                        if len(str(ris)) < 40 :
                            print("Il risultato è: " + str(ris))
                        else :
                            print("Il risultato è:\n" + str(ris))
                        continue

                    if scfRegex.search(d) != None :
                        print("\nOk, che vinca il migliore ;)\n")
                        time.sleep(1)
                        techcore.SCF()
                        print("\nBella giocata eh? :)\n")
                        time.sleep(1)
                        continue

                    if noSaveExitRegex.search(d) != None :
                        print("\nCiao, non salverò!\n")
                        time.sleep(1)
                        raise NameError

                    if cryptRegex.search(d) != None :
                        Match = cryptRegex.search(d)
                        text = Match.group(6)
                        cryptText = techcore.crypt(text)
                        print("Il testo cryptato è: " + cryptText)
                        pyperclip.copy(cryptText)
                        print("Testo copiato negli appunti!")
                        continue

                    if deCryptRegex.search(d) != None :
                        Match = cryptRegex.search(d)
                        text = Match.group(6)
                        deCryptText = techcore.deCrypt(text)
                        print("Il testo decryptato è: " + deCryptText)
                        pyperclip.copy(deCryptText)
                        print("Testo copiato negli appunti!")
                        continue
                    
                    if d == "esci" :
                        print("\nCiao! Spero di rivederti!\n")
                        time.sleep(1)
                        sys.exit()
                    if d in memory :
                        print(memory[d])
                    else :
                        print("Non ho capito, cosa devo rispondere?")
                        n = input(">>>")
                        nn = techcore.semplifyText(n)
                        if nn != "niente" :
                            memory[d] = n

            except NameError :
                sys.exit()

            finally :
                techcore.saveInFile(memory , "memory.m")

        if(risposta_menu == "8"):
            while True:
            print('''
            Benvenuto al programma calcolatrice!
            Creata da: Bot
            Di seguito un elenco delle varie funzioni disponibili:

            -Per effettuare un'Addizione, seleziona 1;
            -Per effettuare una Sottrazione, seleziona 2;
            -Per effettuare una Moltiplicazione, seleziona 3;
            -Per effettuare una Divisone, seleziona 4;
            -Per effettuare un Calcolo Esponenziale, seleziona 5;
            -Per uscire dal programma puoi digitare ESC;
            ''')

            scelta = input('Inserisci il numero corrispondente all\'operazione selezionata --->  ')
            if scelta == "1":
                print('\nHai scelto: Addizione\n')
                a = float(input('Inserisci il Primo Numero -> '))
                b = float(input('Inserisci il Secondo Numero -> '))
                print('Il risultato della Somma è: ' + str(a + b))
            elif scelta == "2":
                print('\nHai Scelto: Sottrazione\n')
                a = float(input('Inserisci il Primo Numero -> '))
                b = float(input('Inserisci il Secondo Numero -> '))
                print('Il risultato della Sottrazione è: ' + str(a - b))
            elif scelta == "3":
                print('\nHai scelto: Moltiplicazione\n')
                a = float(input('Inserisci il Primo Numero -> '))
                b = float(input('Inserisci il Secondo Numero -> '))
                print('Il risultato della Moltiplicazione è: ' + str(a * b))
            elif scelta == "4":
                print('\nHai scelto: Divisione\n')
                a = float(input('Inserisci il Primo Numero -> '))
                b = float(input('Inserisci il Secondo Numero -> '))
                print('Il risultato della Divisione è: ' + str(a / b))
            elif scelta == "5":
                print('\nHai scelto: Calcolo Esponenziale\n')
                a = float(input('Inserisci la Base -> '))
                b = float(input('Inserisci l\'Esponente -> '))
                print('Il risultato del Calcolo Esponenziale è: ' + str(a ** b))
            elif scelta == "ESC":
                print('''L'applicazione verrà ora chiusa!

        ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''')
                break

            loop = input('\nDesideri continuare ad usare l\'applicazione? S/N ')
            if loop == "S" or loop == "s":
                print('''Sto tornando al Menù principale!

        ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''')
                continue
            else:
                print('''Grazie e arrivederci!

        ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''')
                break


                

                                                    
                                

2 Risposte

  • Re: Problema codice non funzionante

    Quel codice è, per usare un eufemismo, un gran casino.
    Sistema l'indentazione, prima di tutto.
  • Re: Problema codice non funzionante

    Penso che nessuno mai prenderà il tuo codice e troverà gli errori al tuo posto tantomeno se il codice è disordinato come il tuo.
    Magari se ci spieghi cosa dovrebbe fare il programma o perlomeno specificare il tipo di errore ti possiamo dare qualche dritta.
    se sei alle prime armi con la programmazione ti consiglio di scrivere codice quanto più semplice e leggibile possibile, poi aggiungi il resto.
Devi accedere o registrarti per scrivere nel forum
2 risposte