Question sur les dictionnaires et les str

Bonjour, j'essaye de créer une sorte de bot de discussion et en gros, j'ai créé un dictionnaire avec des phrases comme clés et d'autres comme valeurs (exemple : {"how are you": "fine and you"} ) ça fonctionne bien mais ce que je voudrais faire c'est que l'algorithme puisse reconnaitre des phrases meme avec de petites variations (exemple : " hello" et "hello !", de base, le programme ne va pas reconnaitre le "hello !", ce qui est embêtant) du coup j'avais codé un petit truc (ci dessous) mais ça n'a pas l'air de fonctionner donc bon

for i in memory:
  if rep1[:len(i)] == i:
   print(memory[i])
   sent.append(i)
   break

  else:
                        pass


PS : j'utilise python3

Configuration: Windows / Edge 81.0.416.64

4 réponses

  1. oui, je me demandais si vous pouviez m'aider à trouver une solution à mon probleme

    merci d'avance
    0
    1. Contributeur
      bonjour, "ça n'a pas l'air de fonctionner".
      peux-tu donner un exemple qui utilise ton code, le résultat obtenu, et le résultat attendu?
      0
      1. pas de problème, quand j'execute le code, avec dans la mémoire une phrase comme "how are you" sans ponctuation et que l'utilisateur rentre une valeur pour rep1 comme "how are you ?"
        je voudrais que le programme retourne la réponse programmmée qu préalable dans le dictionnaire pour "how are you"

        exemple:

        memory = {
        "how are you":"fine and you ?"
        }
        rep1 = str(input(">> ")
        
        for i in memory:
          if rep1[:len(i)] == i:
           print(memory[i])
           sent.append(i) #cette ligne sert juste au programme à savoir que la phrase a été dite
           break
        
          else:
           pass


        et au lieu d'obtenir "fine and you ?" dans le terminal, je n'obtiens rien...

        merci d'avance pour vos réponses
        0
        1. Contributeur
          @yg_bequand je testes ton programme, j'obtiens plusieurs messages d'erreur. ne devrais-tu pas d'abord en tenir compte?
          0
        2. @yg_beah bon ? et bien ils ne s'affichaient pas, je vais voir ça, et je vous tiens au courant, merci
          0