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![]()
Partager