Question sur les dictionnaires et les str

ExypnoseinT2NaH -  
 ExypnoseinT2NaH -
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
A voir également:

4 réponses

Chris 94 Messages postés 54087 Date d'inscription   Statut Modérateur Dernière intervention   7 345
 
0
ExypnoseinT2NaH
 
oui, je me demandais si vous pouviez m'aider à trouver une solution à mon probleme

merci d'avance
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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
ExypnoseinT2NaH
 
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
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
oups, peux-tu utiliser les balises de code pour publier ton code?
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
quand je testes ton programme, j'obtiens plusieurs messages d'erreur. ne devrais-tu pas d'abord en tenir compte?
0
ExypnoseinT2NaH > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
ah bon ? et bien ils ne s'affichaient pas, je vais voir ça, et je vous tiens au courant, merci
0