Comment puis-je vérifier si une phrase contient un certain mot en Python et ensuite effectuer une action?
Disons que j'ai demander à un utilisateur pour les matières premières d'entrée et ils ont dit, "Ceci est un message." Si des matières en entrée contient le mot "message" il va effectuer une action par la suite. Pourrais-je voir comment cela peut être fait?
- Si vous essayez de créer un filtre de contenu, pensez à ceci: le mot "classic" a "cul" en elle (qui, btw. est un autre terme pour l'âne). Ce n'est bien sûr qu'un échantillon
Vous devez vous connecter pour publier un commentaire.
Va basé sur le commentaire de @knitti, le problème est que vous devez diviser la phrase en mots d'abord, puis de vérifier:
Sinon, si vous avez eu la phrase "Que l'on est un classique" et vous avez essayé de vérifier s'il contient le mot "cul", il serait de retour Véritable de manière incorrecte.
Bien sûr, ce n'est toujours pas parfait, car alors vous pourriez avoir à vous soucier de choses comme la suppression de la ponctuation et ce n'est pas (comme , . etc.) parce que sinon, la phrase "Que l'on est un classique." serait toujours retourner False pour une recherche de "classique" (à cause de la période à la fin). Plutôt que de réinventer la roue, voici un bon post sur le décapage de la ponctuation d'une phrase en Python:
Meilleure façon de bande de ponctuation à partir d'une chaîne de caractères en Python
Il y a de la casse à considérer trop, de sorte que vous pouvez changer le
raw_input
résultat et votre terme de recherche en minuscules avant de faire une recherche. Vous pouvez facilement le faire en utilisant simplement l'lower()
fonction de lastr
classe.Ces problèmes semblent toujours simple...
C'est bien sûr un exemple très simple:
Si vous êtes tenu de carte mots différents pour les différentes actions, alors vous pourriez faire quelque chose comme ceci:
Notez que cela définit également une action par défaut pour le cas où l'entrée ne contient pas les mots déclencheurs.
Voir ici pour plus de détails sur le dessus de la cartographie de l'idiome, qui est en fait Python mode de réalisation de l '"instruction switch'.
split() méthode des sauts de la phrase, mot par mot et le mettre dans la liste.