# =================================== # Résolution d'un problème logique par force brute # nsi.gecif.net # décembre 2024 # =================================== """ PROBLEME : qui a le lapin ? Énoncé du problème : - 3 personnes possèdent chacune un animal de compagnie - les personnes se prénomment Jean, Paul et Pierre - Pierre a un chien - Jean n’a pas de canari La problématique à résoudre est : - Quel est l’animal de Paul et qui a le lapin ? =================================================================================== Quelle structure de données en Python peut-on utiliser pour traduire le problème ? Il faut associer à chaque prénom un animal. - les prénoms seront le nom des variables (pierre, paul et jean : 3 variables) - les animaux seront le contenu des variables (3 chaînes de caractères 'chien','canari' et 'lapin') En associant tous les cas possibles des animaux aux 3 variables il faut trouver la seule combinaison qui réponde au problème. """ from itertools import * liste=['chien','canari','lapin'] tous_les_cas=permutations(liste) # on teste tous les cas possibles dans une boucle for : for test in tous_les_cas: pierre=test[0] jean=test[1] paul=test[2] # condition logique traduisant les données du problème : if pierre=='chien' and jean!='canari': print('Pierre :',pierre) print('Jean :',jean) print('Paul :',paul)