Bonjour,

je n'ai pas saisi le principe d'indentation (genre laisser un espace avant 'if') et d'évaluation des expressions booléennes (et la fonction eval()) :

_le prédicat d'égalité, l'opérateur == veut dire que l'on est sure de la vérité de l'expression , mais l'opérateur = est t-il dans un sens pareil ?

_L'opérateur 'is' pourrait remplacer l'opérateur' =' ?

_l'affaire se corse avec les prédicats complexes , voici mon écriture des scripts : l'expression de 'if' doit étre vraie

x or y veut dire : >>> if x is 'faux' : return eval(y) # Que veut dire eval(y) , çà voudrait que x = y ?

... else : return eval(x) # else désigne le contraire de if , eval(x) = x ?

Mais on peut mettre que x est Vrai , pourquoi le tableau du cours parle juste que x est faux :

>>> if x is 'True' : return eval(x)

>>>...else : return eval(y)



_ doit t-on évaluer la vérité de l'expression x or y avec la fonction bool()? bool(x or y)



_l'exemple : (not 3) is (not 2) , on fera bool((not 3)) et bool((not 2)).On peut aussi utiliser la fonction int () ?

Le résultat est False is False ,donc 0 is 0 . Les parenthèses () ont un effet d'abstraction.

_ x and y , par exemple : 1 et 2 font 3 , çà voudrait dire 1 + 2 = 3 ?

_l'exemple 'xy'[0] is 'z' or 'z' , on considère en premier bool('z' or 'z') ou bool('xy'[0]) ??? (j'ai fait les essaies c'est juste pour voir ce l'ordre logique à avoir)

_if 5 > 4 : feu = 'rouge' # toujours évalué là j'ai compris que feu = 'rouge'

Mais là j'ai raté un épisode : doit t-on faire tout à la suite de l'autre ? et appuyer sur enter ?

if feu is 'vert' : passe = True # est-ce que préalablement on met feu is 'vert' ? et le passe d'où il vient Surpris ?

else : passe = False # là c'est la négation .



et là :

>>> if passe and feu is 'rouge' : passe = not passe # passe = False ? et y = feu is 'rouge' est Vrai .donc 0 + 1 = 1 ?


J'ai testé avec python mais j'aimerais comprendre vraiment le sens de ce que je fais ,et aussi comprendre un peu la machine et son interprétation