Poster une réponse 
Résumé des Tutoriels Python...
23-04-2019, 12:31 AM
Message : #1
Rainbow Résumé des Tutoriels Python...
Voici un résumé des 12 Tutoriels Python de mathsbidouille... roll

[Image: 118.gif]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse Return to top
23-04-2019, 12:35 AM
Message : #2
Résumé du Tutoriel 0 : algorithme et programmes

Un algorithme est une suite d'instructions écrites dans la langue maternelle
Un programme (ou un script) est un algorithme traduit dans un langage de programmation

algorithme script scratch programme python
Choisir un nombre
Ajouter 1
Elever au carré
Afficher le résultat

[Image: algopg.png]
a=float(input())
b=a+1
c=b**2
print (c)


[Image: 118.gif]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse Return to top
23-04-2019, 12:38 AM
Message : #3
Résumé du Tutoriel 1 : les variables et l'instruction d'affectation

Les variables sont comme des boites
repérées par une étiquette (le nom de la variable)
dans lesquelles on range des données (la valeur de la variable)


Affecter une valeur à une variable, c'est écrire une valeur dans cette variable

[Image: pytuto0.png]

a prend la valeur 3 algorithme
a ← 3
python
a = 3


en écrivant n = n + 1
on ajoute 1 à la valeur de la variable n

on dit que la variable n est incrémentée

[Image: 118.gif]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse Return to top
23-04-2019, 12:42 AM
Message : #4
Résumé du Tutoriel 2 : les différents types de variable

flecherouge Les nombres
int (un entier : integer en anglais)
float (un flottant ou un nombre décimal)



flecherouge Les textes ou chaînes de caractères
str (une chaîne de caractères : string en anglais)
arrow une chaîne de caractères s'écrit toujours entre guillemets


flecherouge Les booléens
bool (un booléen)
Un bool (booléen) est une variable qui n'a que 2 valeurs : True (Vrai) ou False (faux)


flecherouge Les déclarations de variables
Déclarer une variable, c'est créer une variable
En Python, l'affectation d'une valeur à une variable
• déclare la variable
• détermine son type


[Image: 118.gif]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse Return to top
23-04-2019, 12:46 AM
Message : #5
Résumé du Tutoriel 3 : les instructions d'entrée et de sortie
1) L'instruction d'entrée


Une instruction d'entrée permet à l'utilisateur
pendant l'exécution d'un programme
d'entrer une donnée au clavier


algorithme programme python
entrer ou saisir input()

Par défaut, la donnée entrée est un texte
Code :
a=input()
la variable a est une variable de type string (chaîne de caractères)

Code :
a=int(input())
la variable a est une variable de type int (entier)

Code :
a=float(input())
la variable a est une variable de type float (décimal)



On peut aussi afficher un message pour indiquer à l'utilisateur ce qu'il doit entrer...
Code :
a=int(input("entrer un nombre entier"))

2) L'instruction de sortie


Une instruction de sortie permet
pendant l'exécution d'un programme
d'afficher une donnée


algorithme programme python
afficher print()

Code :
print (b)
ou bien
Code :
print ("la valeur de b est" , b)

Exemple :

[Image: pytuto24.png] [Image: pytuto25.png]

[Image: 118.gif]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse Return to top
23-04-2019, 01:03 AM
Message : #6
Résumé du Tutoriel 4 : les tests
1) Les opérateurs logiques

Les opérateurs logiques sont utilisés dans les conditions
pour comparer des variables

opérateur logique traduction
==
!=
<
<=
>
>=
and
or
est égal à
est différent de
est strictement inférieur à
est inférieur ou égal à
est strictement supérieur à
est supérieur ou égal à
et
ou


2) Les instructions conditionnelles ou tests

L'algorithme :
si condition alors
-------début
-------instructions
-------fin
sinon

-------début
-------instructions
-------fin

se traduit en Python par :
if condition :
    instructions
else :
    instructions

Exemple :
[Image: pytuto1.png]


On peut imbriquer les tests
Dans ce cas on utilise elif qui est la contraction de else if


L'algorithme :
si condition alors
-------début
-------instructions
-------fin
sinon si
condition alors
--------------début
--------------instructions
--------------fin
-------sinon
--------------début
--------------instructions
--------------fin


se traduit en Python par :
if condition :
    instructions
elif
condition :
    instructions
else :
    instructions

Exemple :
[Image: pytuto2.png]


On peut, bien sûr, écrire plusieurs instructions dans le if, le else ou le elif...

Exemple :
[Image: pytuto3.png]

[Image: 118.gif]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse Return to top
23-04-2019, 01:05 AM
Message : #7
Résumé du Tutoriel 5 : les boucles for
Les instructions itératives ou boucles
sont utilisées pour répéter des instructions

1) Les boucles bornées

Ce sont les boucles que l'on répète n fois (n étant un nombre fixe)
Dans ce paragraphe, on prendra n=10

Dans Scratch, elles correspondent au bloc suivant :
[Image: pytuto4.png]

arrow En algorithmique, ce sont les boucles pour
qui utilisent une variable pour compter le nombre de répétitions
pour variable allant de valeur initiale à valeur finale
-------début
-------instructions
-------fin


arrow En python, ce sont les boucles for
for variable in range(valeur initiale , valeur finale + 1) :
    instructions

arrow valeur initiale et valeur finale doivent être des nombres entiers

Dans notre exemple, pour répéter 10 fois, on peut écrire :
for i in range(1,11) :
range(1,11) veut dire que la variable i prend successivement les valeurs 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (et pas 11)
ou bien
for i in range(0,10) :
range(0,10) veut dire que la variable i prend successivement les valeurs 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (et pas 10)
ou bien
for i in range(15,25) :
range(15,25) veut dire que la variable i prend successivement les valeurs 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 (et pas 25)

arrow Par défaut, la valeur initiale est 0
Ainsi range(10) signifie range(0,10)
Le plus simple (pour répéter 10 fois) est donc
for i in range(10) :

Exemples :



[Image: pytuto8.png][Image: pytuto9.png]



[Image: pytuto10.png][Image: pytuto11.png]


flecherouge L'intérêt d'utiliser une variable pour répéter
est qu'on peut utiliser cette variable dans la boucle good

[Image: pytuto12.png] [Image: pytuto12 0.png] [Image: pytuto13.png]
[Image: pytuto12 1.png] [Image: pytuto12 2.png]


flecherouge On peut aussi rajouter un pas (ou un incrément)
le pas doit être aussi un nombre entier

pour variable allant de valeur initiale à valeur finale pas valeur du pas
-------début
-------instructions
-------fin

for variable in range(valeur initiale , valeur finale + 1 , valeur du pas) :
    instructions

• range(4,11,2) veut dire que la variable prend successivement les valeurs 4, 6, 8 et 10

Par défaut, le pas est égal à 1
• range(4,11) veut dire range(4,11,1)

2) L'instruction continue

arrow L'instruction continue permet, dans une boucle, de ne pas exécuter une itération

[Image: pytuto20 1.png][Image: pytuto20 2.png]

[Image: 118.gif]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse Return to top
23-04-2019, 01:06 AM
Message : #8
Résumé du Tutoriel 6 : les boucles while
2) les boucles non bornées

Ce sont les boucles que l'on répète un certain nombre de fois
tant qu'une condition est vérifiée

Dans Scratch, elles correspondent au bloc suivant :
[Image: pytuto17.png]

En algorithmique, ce sont les boucles tant que
tant que condition faire
-------instructions
fin tant que

En Python, ce sont les boucles while
while condition :
    instructions

Exemple :
Voilà une boucle qui va s'exécuter tant que l'utilisateur
n'entre pas au clavier oui ou non
[Image: pytuto21.png]

On peut écrire une boucle for avec une boucle while hoho

Il suffit de créer une variable (un compteur)
qui va être incrémentée dans la boucle (pour compter le nombre de passages dans la boucle)

arrow les algorithmes suivants sont équivalents

pour i allant de 3 à 10
-------afficher i
fin pour
3 i
tant que i<=10 faire
-------afficher i
-------i i + 1
fin tant que

arrow les programmes Python suivants sont équivalents

[Image: pytuto18.png] [Image: pytuto19.png] [Image: pytuto20.png]


flecherouge Avec une boucle while, on peut créer des boucles avec des valeurs initiales, des valeurs finales et des pas qui sont des nombres décimaux good
flecherouge la variable n'est pas automatiquement incrémentée (il faut écrire le pas à l'intérieur de la boucle)

Exemple :
[Image: pytuto20 4.png] [Image: pytuto20 5.png]

[Image: 118.gif]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse Return to top
23-04-2019, 01:07 AM
Message : #9
Résumé du Tutoriel 7 : les listes
Une liste est une suite ordonnée finie d'éléments


flecherouge Pour créer une liste, on l'écrit entre crochets, chaque élément étant séparé par une virgule
flecherouge On peut unir deux listes en utilisant le symbole de concaténation +
[Image: pytuto30.png]
Les éléments d'une liste sont numérotés
Le numéro d'un élément s'appelle son index
flecherouge Le premier index est toujours 0

L[0] est la valeur du premier élément de la liste L
L[n] est la valeur de l'élément d'index n de la liste L
L[-1] est la valeur du dernier élément de la liste L
L[a:b] est la liste des valeurs des éléments d'index a à b (b exclu) de la liste L

del L[3]
L.remove(5)
len(L)
L.count(5)
L.index(5)
L.sort()
L.sort(reverse=True)
L.reverse()
L.append(n)
supprime l'élément d'index 3 de la liste L (delete)
supprime la première occurence de la valeur 5 de la liste L
retourne la longueur de la liste L (lenght)
retourne le nombre de 5 de la liste L
retourne l'index de la première occurence de la valeur 5 dans la liste L
trie la liste L par ordre croissant
trie la liste L par ordre décroissant
inverse l'ordre des valeurs de la liste L
rajoute le nombre n à la fin (end) de la liste


Liste et boucle pour

pour variable parcourant liste
-------début
-------instructions
-------fin


for variable in liste :
    instructions

[Image: 118.gif]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse Return to top
23-04-2019, 01:08 AM
Message : #10
Résumé du Tutoriel 8 : les fonctions
Une fonction mathématique possède :
• un nom (en mathématiques, on l'appelle souvent f)
• une entrée (où on entre un nombre, on l'appelle souvent x)
• une sortie (où on récupère un nombre, on l'appelle souvent y = f(x))

Une fonction en programmation possède :
• un nom
• des entrées appelées paramètres
• des sorties : on dit qu'elles sont renvoyées (return en anglais) par la fonction


L'utilisation de fonctions permet :
• de faciliter la lecture des programmes
• d'éviter de recopier plusieurs fois un groupe d'instructions semblables


Voilà le même programme :
> sans utiliser de fonction
[Image: pytuto40.png]

> en utilisant une fonction roll
[Image: pytuto39.png]

> même affichage
[Image: pytuto38.png]


Voici une fonction périmètrerectangle à 2 paramètres
qui retourne le périmètre d'un rectangle connaissant sa largeur et sa longueur
[Image: pyt172.png]
Quand on l'appelle (dans la console) en donnant des valeurs aux deux paramètres
la valeur retournée s'affiche
[Image: pyt173.png]

Voici une fonction aff qui n'a pas de paramètre
et qui ne retourne rien
[Image: pytuto37.png]
quand on l'appelle (dans la console)
s'affiche "ça fonctionne !"
[Image: pytuto36.png]

[Image: 118.gif]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse Return to top
23-04-2019, 01:09 AM
Message : #11
Résumé du Tutoriel 9 : importer un module

arrow Les modules sont des bibliothèques de fonctions

• Le module math contient des fonctions mathématiques
Parmi les plus utilisées :
Le module math
cos(a) cosinus de a
sin(a) sinus de a
tan(a) tangente de a
exp(a) exponentielle de a
log(a) logarithme népérien de a>0
floor(a) arrondi de a à l'entier inférieur (partie entière)
(floor veut dire plancher en anglais...)
ceil(a) arrondi de a à l'entier supérieur
(ceil veut dire plafond en anglais...)
floor(a) partie entière de a
factorial(n) factorielle d'un entier n
pow(a,b) a puissance b
sqrt(a) racine carrée de a>=0

• Le module random permet de générer des nombres aléatoires
Parmi les plus utilisés :
Le module random
randint(a,b) nombre entier aléatoire entre a (inclus) et b (inclus)
random() nombre décimal aléatoire entre 0 (inclus) et 1 (exclus)
uniform(a,b) nombre décimal aléatoire entre a (inclus) et b (inclus)

Le module numpy permet des opérations sur les listes et les matrices

Le module matplotlib permet de dessiner des courbes dans un repère
(voir le tutoriel suivant...)

arrow Pour importer un module, on utilise from import

[Image: import2.png]



Edupython possède un module lycée qui possède toutes les fonctions mathématiques utilisées au lycée

Il suffit donc, au début de chaque programme d'importer cette bibliothèque good
[Image: import1.png]

[Image: 118.gif]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse Return to top
23-04-2019, 01:10 AM
Message : #12
Résumé du Tutoriel 10 : le module matplotlib

Le module (ou bibliothèque : library en anglais...) matplotlib permet de dessiner, de tracer des courbes, des histogrammes...

Il est formé de plusieurs bibliothèques, notamment :
matplotlib.pyplot pour dessiner des points, des segments, des figures...

la fenêtre graphique
from matplotlib.pyplot import * importe la bibliothèque
axis([xmin,xmax,ymin,ymax])
ou bien
xlim(xmin,xmax) et ylim(ymin,ymax)
définit la taille de la fenêtre graphique
xmin, xmax, ymin et ymax
(comme sur une calculatrice)
show() montre la fenêtre graphique
grid() montre la grille
axis("equal") montre un repère orthonormé

arrow Pour placer des points ou tracer des segments, on utilise la commande plot

la commande plot
avec 1 point plot ([xA],[yA],"x") dessine le point A avec une croix x
avec 2 points plot ([xA,xB],[yA,yB],"+") dessine les points A et B avec des croix +
avec 3 points ou plus plot ([xA,xB, ... ,xC],[yA,yB, ... ,yC],"o") dessine le nuage de points A, B, ..., C avec des ronds o
avec 2 points plot ([xA,xB],[yA,yB]) dessine le segment [AB]
avec 3 points ou plus plot ([xA,xB, ... ,xC],[yA,yB, ... ,yC]) dessine la ligne brisée [AB...C]


Explications et compléments... :

Cette commande a 3 arguments plot(liste d'abscisses,liste d'ordonnées,chaîne de caractères)

arrow les listes des abscisses et des ordonnées doivent être écrite entre crochets
Voici un exemple pour montrer les 3 points de coordonnées (-1;-2) (3;4) et (5;1)
Code :
x=[-1,3,5]
y=[-2,4,1]
plot(x,y)
ou bien
Code :
plot([-1,3,5],[-2,4,1])

arrow la chaîne de caractères est formée de 4 caractères maximum :
• 1 caractère pour la forme des points
• 1 caractère pour la couleur
• 1(ou 2) caractère(s) pour le style de la ligne qui relie les points
Voici un tableau pour montrer les codes utilisés
la forme des points la couleur le style de ligne
; , o v ^ < > * + x | _
s carré
p pentagone
h hexagone1
H hexagone2
d diamant fin
D diamant
b bleu
g vert
r rouge
c cyan
m magenta
y jaune
k noir
w blanc
- ligne continue
-- tirets
: ligne en pointillés
-. tirets points

[Image: 118.gif]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse Return to top
23-04-2019, 01:14 AM
Message : #13
Résumé du Tutoriel 11 : structure d'un programme Python
Nous avons vu qu'on peut importer un module (c'est-à-dire un ensemble de fonctions prédéfinies (déjà écrites))
par exemple le module math qui contient la fonction sqrt
(ces fonctions n'apparaissent pas dans nos programmes car en important un module, ces fonctions sont reconnues par Python)

Nous avons vu aussi qu'on peut définir des fonctions
à l'intérieur d'un programme


L'utilisation de fonctions permet :
• de faciliter la lecture des programmes
• d'éviter de recopier plusieurs fois un groupe d'instructions semblables


Voilà le même programme :
> sans utiliser de fonction
[Image: pytuto500.png]

> en utilisant une fonction roll
[Image: pytuto501.png]

On voit maintenant apparaître la structure d'un programme Python hoho
Importation des modules
Déclarations des fonctions
Programme principal

Que fait donc Python quand on exécute ce programme ?
Il exécute les instructions dans l'ordre en commençant au début

Voilà les 17 lignes exécutées
début du programme
ligne 8 : rien à faire (un commentaire)
ligne 9 (importation du module math)
ligne 10 : rien à faire
ligne 11 : rien à faire (un commentaire)
ligne 12 : rien à faire (une déclaration de fonction)
ligne 13 : rien à faire (une déclaration de fonction)
ligne 14 : rien à faire (une déclaration de fonction)
ligne 15 : rien à faire (une déclaration de fonction)
ligne 16 : rien à faire
ligne 17 : rien à faire (un commentaire)

ligne 18 (affichage du texte)
ligne 19 (appel de la fonction fct)
ligne 12 (exécution de la fonction fct en remplaçant son paramètre x par 5)
ligne 13 (exécution de la fonction fct en remplaçant son paramètre x par 5)
ligne 14 (exécution de la fonction fct en remplaçant son paramètre x par 5)
ligne 15 (exécution de la fonction fct en remplaçant son paramètre x par 5)

ligne 20 (appel de la fonction fct)
ligne 12 (exécution de la fonction fct en remplaçant son paramètre x par 6)
ligne 13 (exécution de la fonction fct en remplaçant son paramètre x par 6)
ligne 14 (exécution de la fonction fct en remplaçant son paramètre x par 6)
ligne 15 (exécution de la fonction fct en remplaçant son paramètre x par 6)

ligne 21 (appel de la fonction fct)
ligne 12 (exécution de la fonction fct en remplaçant son paramètre x par 7)
ligne 13 (exécution de la fonction fct en remplaçant son paramètre x par 7)
ligne 14 (exécution de la fonction fct en remplaçant son paramètre x par 7)
ligne 15 (exécution de la fonction fct en remplaçant son paramètre x par 7)

fin du programme

Finalement, nous faisons exactement la même chose.. devant un exercice de maths..!
Exemple
# définition de la fonction
Soit f la fonction définie par f(x) = 2 √x + 1

# questions
1) calculer f(5)
2) calculer f(6)
3) calculer f(7)

Que fait-on..?
On lit l'énoncé (rien à faire)
On répond à la question 1) (en écrivant sur le cahier ce qu'il faut faire)
On exécute la fonction f en remplaçant x par 5 (en écrivant les calculs et le résultat)
On répond à la question 2) (en écrivant sur le cahier ce qu'il faut faire)
On exécute la fonction f en remplaçant x par 6 (en écrivant les calculs et le résultat)
On répond à la question 3) (en écrivant sur le cahier ce qu'il faut faire)
On exécute la fonction f en remplaçant x par 7 (en écrivant les calculs et le résultat)

hoho


Vous avez remarqué qu'au début, la machine ne lit pas les fonctions
Python n'exécute les fonctions que quand elles sont appelées dans le programme principal


Une fonction peut être vue comme un sous-programme
qui s'exécute quand le programme principal l'appelle


Et comme une fonction est indépendante du programme principal
on pourra l'utiliser (si besoin) dans un futur programme
good

D'ailleurs, on représente graphiquement les programmes principaux et les fonctions par des algorigrammes séparés..!
Exemple roll

[Image: 118.gif]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse Return to top
Poster une réponse