def interro(message,reponse):
r=eval(input(message))
if r==reponse:
print("Félicitation, la réponse est correcte")
else:
print("Erreur : la réponse était ",reponse)
Si quelqu'un vous dit que « 4 est égal à 5 », vous lui répondez quoi ? « C'est faux ». Si maintenant la même personne vous dit que « 7 est égal à 7 », vous lui répondrez bien évidemment que « c'est vrai ». L'ordinateur peut aussi tester des affirmations en répondant par True ou False.
En Python, ces deux affirmations (« 4 est égal à 5 » et « 7 est égal à 7 ») s'écriront « 4 == 5 » et « 7 == 7 » (notez bien le double signe égal).
Validez et analysez les cellules suivantes :
print(4==5)
print(7==7)
a=4
b=3
print(a==b+1)
Il ne faut pas confondre *l'opérateur d'égalité* (==) et *l'opérateur d'affectation (=) utilisé pour attribuer une valeur aux variables. La confusion entre ces 2 opérateurs est une erreur classique qu'il est parfois très difficile à détecter !
Il est aussi possible d'utiliser aussi l'opérateur « différent de » . En python on utilise le symbole !=
a=3
b=a+1
print(a!=b)
Saurez-vous dire le résultat du test ci-dessous ? validez la cellule et répondez par True ou False
a=3
b=a+1
a=4
interro("Quel est le résultat du test a==b ?",a==b)
print ("En effet, a=",a," et b=",b)
Nous allons maintenant étudier une structure fondamentale en programmation le « si …... alors.......sinon........».
L'idée de base est la suivante :
Si <condition à tester> :
Instructions à réaliser
si la condition est vraie
Sinon :
Instructions à réaliser
si la condition est fausse
Si « condition à tester» vaut True alors on exécute seulement le premier bloc d'instructions, sinon, on exécute seulement le second bloc d'instruction.
Regardons un exemple :
age=eval(input("Quel âge as tu ?"))
if age >= 13:
print("Tu peux créer un compte Facebook !")
else:
print("Tu es encore trop jeune pour aller sur Facebook")
Comme vous pouvez le voir, la syntaxe Python est très proche du langage naturel. Il faut néanmoins être attentif à deux choses :
Il est très courant pour les débutants Python d'oublier ces : ou l'indentation. Il faut être très attentif à cela.
L'exemple suivant possède plusieurs erreurs. Corrigez les. Laissez-vous guider par les messages d'erreur que Python vous adresse.
age=eval(input("Quel âge as tu ?"))
if age >= 18:
print("Tu va pouvoir aller voter")
else
print("Tu es mineur, grandis encore un peu :)")
Il est possible de combiner deux conditions avec les mots clés *et* et *ou. On utilise les mots Python and* et or.
Exécutez et analysez les cellules suivantes :
a=3
b=2
a==3 and b>=3
a==3 or b>=3
Validez et analysez la cellule suivante :
x = eval(input("Saisir la valeur de x : "))
print("L'inverse de",x,"est", 1/x)
Que se passe t-il si vous saisissez la valeur 0 pour x ? pourquoi ?
Il n'est pas possible de laisser un programme se planter pour une erreur de calcul. Corrigez le programme ci-dessus afin qu'il affiche le message *0 n'a pas d'inverse* lorsque l'utilisateur saisit la valeur 0.