Python retourne mauvaise table de vérité pour l'implication logique
J'ai mis en œuvre l'implication ci-dessus en Python, mais il ne retourne pas les résultats escomptés:
True True None
True False None
False True True
False False None
Mon code python est:
def implies(a,b):
if a:
return b
else:True
return
for p in (True, False):
for q in (True, False):
print("%10s %10s %s" %(p,q,implies((p or q) and (not p), q)))
Je ne comprends pas la contradiction ici. Aucun n'implique Faux n'est-ce pas? Et pourquoi ne pas imprimer Vrai comme il se doit?
'else: True' devrait être' else: return True'. Comme ça ne fait rien. – RemcoGerlich
On dirait que vous pouvez remplacer l'implémentation de 'implique' par la valeur' True', si tous les résultats sont supposés être 'T'. – deceze
Merci les gars, cette fonction a été fournie dans un exercice donc je n'ai pas regardé deux fois dedans! –