Condition et test if
Le traitement d'une condition peut se représenter par l'algorithme
La syntaxe en Python d'une instruction conditionnelle est, assez communément,
if test:
# instructions
Si le test est vrai les instructions situées après if et indentées(c'est-à-dire espacées vers la droite) sont exécutées,
pas dans le cas contraire.
Essayer par exemple:
n=float(input("Entrer un nombre: "));
if n<100:
print("Ce n'est pas bien grand...")
Plus généralement, on peut compléter la structure conditionnelle précédente en indiquant aussi quoi faire si la condition n'est pas vraie, sinon, else en anglais et en python:
La syntaxe en Python devient
if test:
# instructions
else:
# AUtres instructions
Essayer par exemple:
n=float(input("Entrer un nombre: "));
if n<100:
print("Ce n'est pas bien grand...")
else:
print("C'est assez grand...")
On peut aussi indiquer successivement plusieurs conditions "sinon si" (else if en anglais, contracté en elif en python).
En Python, la syntaxe complète est:
if test 1:
# instructions
elif test 2:
# instructions
elif test 3:
# instructions
…
else:
// instructions
Dès qu'un test est vrai, les instructions correspondantes sont effectuées puis on sort de l'ensemble des conditions,
même si une condition après un autre elseif est vraie, elle est ignorée: l'ordre importe.
Par exemple:
n=float(input("Entrer un nombre: "));
if n<100:
print("Ce n'est pas bien grand...")
elif n<1000:
print("C'est assez grand...")
elif n<10000:
print("Interessant...")
else:
print("Beaucoup trop ?...")
Opérateurs logiques
Pour définir un test, on peut utiliser les opérateurs logiques:
== : égalité
< , >, <= et >= : inférieur ou supérieur, strictement ou non
not ou ~ : négation, par exempe x~=4 pour le test x différent de 4, équivalent à ~(x==4)
and : "et" logique
or : "ou" logique
Par exemple:
n=float(input("Entrer un nombre: "));
if n>100 and n<110:
print("Grand juste comme il faut")
else:
print("Raté")
QCM
Boucle for
Syntaxe générale
La syntaxe générale d'une boucle for est la suivante,
V étant une liste
Un des cas le plus fréquent en pratique est celui où
V=[1,2,3,…,n]: on balaye successivement tous les entiers.
En python, la fonction range créé justement une liste d'entiers.
La syntaxe générale est range([start],stop,[step]), les paramètres entre crochets étant optionnels.
start, stop et step sont des entiers (integer);
stop n'est pas inclus.
Essayer:
for i in range(5):
print(i)
print("***")
for i in range(3,7):
print(i)
print("***")
for i in range(8,16,2):
print(i)
print("***")
for i in range(21,8,-3):
print(i)
Boucle conditionnelle while
Le traitement d'une boucle conditionnelle, c'est-à-dire d'une boucle qui s'effectue sous certaines conditions,
peut se représenter par l'algorithme
En Python la syntaxe d'une boucle conditionnelle est:
from random import randint
#importe la fonction randint qui permet de tirer des nombres entiers au hasard
# voir modules et bibliothèques
a=randint(0,10)
b=randint(0,10)
r=int(input(str(a)+"*"+str(b)+"="))
while (r==a*b):
a=randint(0,10)
b=randint(0,10)
r=int(input(str(a)+"*"+str(b)+"="))
print("Perdu, revoir les tables de "+str(a)+" et "+str(b))