Pour l'ensemble de ce travail, utilisez le logiciel Edupython.
Dans le cas où Edupython ne marcherait pas sur vos machines, vous pouvez réaliser l'ensemble des exercices ici :
En programmation, nous avons besoin de stocker des éléments , de les mettre en mémoire. Pour cela , on procède à l'affectation d'une variable par une donnée.
Affectation
En Python, l'affectation se réalise avec l'opérateur =
le script :
a=5
met en mémoire l'entier 5 dans la variable a
a="easy"
met en mémoire la chaine de caractère "easy" dans la variable a
Que vaut a à la fin de ce script :
a=1
b=-1
a=a*b
a=a+b
Affichage
Pour afficher une chaine de caractère(= du texte) en python on utilise la fonction print()
Testez ces différents scripts :
print("Vivement les vacances !")
prenom="Bob"
print("Mon prénom est :",prenom)
Réaliser un script qui contient trois variables : prenom
, nom
et
age
et qui doit afficher :
"Bonjour je m'appelle Luke Skywalker, j'ai 58 ans. "
Si vous n'êtes pas luke, vous pouvez indiquer vos coordonnées.
input
La fonction input
permet d'ouvrir une boite de dialogue et de récupérer une information.
prenom=input("quel est ton prénom?")
print(prenom)
Ecrire un script en Python qui demande à l'utilisateur, son prénom, son nom et son âge et qui réalise un affichage comme dans l'exercice 2.
Une fonction en informatique est un peu comme une fonction en maths. Elle prend un ensemble d'argument et renvoie quelque chose.
Définir une fonction en Python
La syntaxe pour définir une fonction en Python est celle ci :
def nomDeLaFonction(argument1,argument2...):
instruction 1
instruction 2
.
.
.
return retourDeLaFonction
Prenons la fonction f(x2).
si vous voulez implémenter cette fonction en Python, il suffira d'écrire :
def f(x):
return x**2
Pour calculer l'image de 1 , en maths vous feriez f(1) , en Python c'est pareil !
testez :
f(1)
def somme(a,b):
return a+b
Ecrire une fonction multiplication(a,b)
qui renvoie la multiplication de a par b.
Dans une fonction on peut faire appelle à d'autre fonction.
Les tests en Python
a==b
renvoie True
si a=b et False
sinona!=b
renvoie True
si a est différent de b et False
sinona<b
renvoie True
si a<b et False
sinon.La structure conditionnelle "if"
En Python, voici la structure :
if condition :
instruction(s)
else :
instruction(s)
Le bloc else
n'est pas obligatoire
Vous remarquerez le symbole :
très important en Python qui marque le début d'un bloc.
C'est l'indentation qui délimite le bloc d'instructions
Voici un exemple :
a=float(input("Entrer un nombre positif : "))
if a>=0 :
print("Vous avez entré un nombre positif")
else :
print("Vous avez entré un nombre négatif ?")
La structure elif
:
if condition1 :
instruction(s)
elif condition2 :
instruction(s)
elif condition3 :
instruction(s)
else :
instruction(s)
Un autre exemple :
a=float(input("Entrer un nombre : "))
if a>0 :
print("Vous avez entré un nombre strictement positif.")
elif a==0 :
print("Vous avez entré un nombre nul.")
else :
print("Vous avez entré un nombre strictement négatif.")
Ecrire une fonction signe_prod(a,b)
qui reçoit deux entiers a et b relatifs et qui renvoie True si le produit de a par b est positif et False sinon. Attention : on ne doit pas calculer le produit des deux nombres.
La structure "for" avec range
Voici la structure en Python d'une boucle for avec range
for i in range(n):
instruction 1
instruction 2
...
Dans cette boucle i prendra les valeurs de 0 à n-1.
Toutes les instructions dans la boucle seront appliquées pour chaque valeur de i.
Dans cette structure, on connait à l'avance le nombre de répétitions. Dans notre cas, il est égal à n.
Cette boucle fait le calcul : 0+1+2+3+...+10
s=0
for i in range(11):
s=s+i
Ecrire une fonction somme_carrée(n)
où n est un entier qui renvoie la valeur de 12+22+...+n2
Rappel x2
si vous voulez implémenter la puissance en Python, ilfaut écrire :
x**2
La structure "for" avec in
Voici la structure en Python d'une boucle for avec in
for elt in variable:
instruction 1
instruction 2
...
Dans cette boucle, elt
va parcourir les éléments de la variable
.
La variable
peut être une liste
, une chaine de caractères
.
Une liste
en Python est une suite d'éléments entre [
et ]
séparés par des ,
.
Cette boucle affiche chaque élément d'une liste
liste=["un",2,3,8,"serpent"]
for elt in liste:
print(elt)
Tester le script ci-dessus et modifier la liste avec une liste contenant d'autres éléments.
Un autre exemple avec une chaine de caractères. Le langage python transforme une chaine de caractères en une liste d'éléments.
Tester le code suivant :
citation="On ne saura plus rien, à l'époque où on croira tout savoir."
for lettre in citation:
print(lettre)
Que fait le code suivant :
citation="On ne saura plus rien, à l'époque où on croira tout savoir."
compteur=0
for lettre in citation:
if lettre=="e":
compteur=compteur+1
print(compteur)
Transformer le code pour qu'il compte le nombre de i.
La structure while
Voici la structure en Python d'une boucle while
while condition:
instruction 1
instruction 2
...
Tant que la condition
est vraie les instructions du bloc
sont exécutées.
Dans cette structure, on ne connait pas à l'avance le nombre de répétitions.
Une balle part d'une hauteur de 2 mètres et perd 10% de sa hauteur à chaque rebond. On cherche le nombre de rebonds pour la balle atteigne un maximum de 1,5 mètre de hauteur. Ce problème (on parle de problème de seuil) peut être traité en python par le script suivant :
hauteur=2
rebond=0
while hauteur>1.5:
rebond=rebond+1
hauteur=hauteur*0.9
print(rebond)
Tester ce script
Modifier les valeurs pour que la balle démarre à une hauteur de 3 mètres et atteigne la hauteur de 2 m.
Une cuve d'eau à une contenance de 1000L. En moyenne la cuve d'eau se remplis de 3L d'eau par jours. Ecrire une fonction remplir()
qui renvoie le nombre jours qu'il faudra pour remplir la cuve.