0% ont trouvé ce document utile (0 vote)
3 vues10 pages

Programmer en Python Document OL

Le document présente des concepts fondamentaux de programmation en Python, y compris l'importation de bibliothèques, la création de graphiques, l'utilisation de fonctions, d'instructions conditionnelles et de boucles. Il aborde également la manipulation de listes et quelques commandes utiles, ainsi que des exemples de programmes pratiques comme le calcul des fréquences d'apparition lors de lancers de dés et l'approximation de l'aire sous une courbe. Enfin, il illustre des techniques graphiques avec Matplotlib pour visualiser des données.

Transféré par

DRIOUICHE
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues10 pages

Programmer en Python Document OL

Le document présente des concepts fondamentaux de programmation en Python, y compris l'importation de bibliothèques, la création de graphiques, l'utilisation de fonctions, d'instructions conditionnelles et de boucles. Il aborde également la manipulation de listes et quelques commandes utiles, ainsi que des exemples de programmes pratiques comme le calcul des fréquences d'apparition lors de lancers de dés et l'approximation de l'aire sous une courbe. Enfin, il illustre des techniques graphiques avec Matplotlib pour visualiser des données.

Transféré par

DRIOUICHE
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Programmer en Python

1. Les importations de bibliothèques

Les commandes «from math import *» et « from random import * » importent toutes les fonctions (c’est le sens de
*) de ces bibliothèques. Les principales fonctions utilisées en lycée sont :

• De la bibliothèque « math » :sqrt,pi, sin, cos, tan, abs


• De la bibliothèque « random » : randint, random

Console

Remarques :

• En python, les commentaires (lignes non exécutées) commencent par le symbole « # ». Le code est indenté, ce qui
implique en particulier, que tout « copier-coller »de code peut amener à des problèmes de lecture des tabulations.
• Les copies d’écran ont été réalisées à partir du laboratoire Python du site « Le Livre Scolaire » :
[Link]

2. Construire une courbe représentative de fonction

Dans le programme suivant, on importe des bibliothèques et fonctions graphiques que l’on renomme

import [Link] as plt


import numpy as np
# Définition des axes [xmin,xmax,ymin,ymax]
[Link]([-3,3,0,9])
# Création de la grille
[Link]()
# Définition des coordonnées des points avec 100 abscisses allant de -3 à 3
x=[Link](-3,3,100)
y=x**2
# Création des points
[Link](x,y)
# Affichage du graphique
[Link]()
Affichage graphique

3. Utiliser une fonction(au sens de la programmation)

Le programme précédent est modifié pour utiliser une fonction.

def f(x) :
return x**2

4. L’instruction conditionnelle « if elif else »

def je_suis_perdu(x):
# Test "if elif else"
if x==2:
print("x=2")
elif x<3:
print("x<3")
else :
print("je suis perdu")

#Test unique "if"


if x<2:
print("mais que fait donc ce programme?")

print("-----------------------------------")

# Lancement de la fonction avec trois arguments différents


je_suis_perdu(2)
je_suis_perdu(1)
je_suis_perdu(5)
Console

5. La boucle bornée « for »

Dans ce programme, on utilise la « concaténation, c’est-à-dire la somme de caractères !

Etoile="*"
for i in range (10):
print(Etoile)
Etoile=Etoile+"*"

Console →

6. La commande « range » en détails

L = range(1,4)
for nombre in L :
print (nombre)
print("------")

L = range(4)
for nombre in L :
print (nombre)
print("------")

L = range(1,10,2)
for nombre in L :
print (nombre)

7. La boucle non bornée « while »

En général, cette boucle est utilisée pour la recherche d’un rang à partir duquel une condition est réalisée. Pour cela,
il faut utiliser la négation de cette condition dans le test.

# Invitation d'entrée de la précision, ici 0.00001


precision = float(input("entrer la précision"))
print("précision entrée = ",precision)

#Initialisation
u=1
n=0

# Boucle while
while u>precision:
u=0.5*u
n+=1
# On notera dans la ligne précédente la syntaxe utilisée à la place de n=n+1
print ("la plus petite valeur telle que (0,5)^n<=precision est : ",n)
Console →

8. Construire un nuage de points (d’une suite numérique par exemple)

import [Link] as plt


# Définition des axes [xmin,xmax,ymin,ymax]
[Link]([-1,11,-1,110])
# Définition des coordonnées des points du nuage à abscisses entières
x=[n for n in range(11)]
y=[n**2 for n in range(11)]
# Création des points
[Link](x,y)
# Création de la grille
[Link]()
# Affichage du graphique
[Link]()

Affichage graphique →
9. Créer une liste, ajouter et retirer un élément d’une liste, utiliser une liste

from random import randint

# Création de la liste "liste"


liste=[10,20,30,40,50]

# Affichage (attention le premier rang d'une liste est 0 !)


print(liste)
print ("L'élément de rang 2 est ", liste[2])

# Ajout et retrait d'éléments (attention le premier rang d'une liste est 0 !)


[Link]("caramel au beurre salé")
print (liste)
[Link](5)
print (liste)

# Création d'une liste avec la somme cumulée des termes


S=0
liste2=[]
for i in range (len(liste)):
S=S+liste[i]
[Link](S)
print(liste2)

# Création d'une liste de nombres aléatoires 0 et 1 et comptage du nombre de 1


Echantillon=[]
for i in range (10):
alea=randint(0,1)
[Link](alea)
print("Echantillon = ",Echantillon)

Nombre_de_1=0
for j in range(len(Echantillon)):
Nombre_de_1=Nombre_de_1+Echantillon[j]
print("Nombre de 1 dans l'échantillon = ",Nombre_de_1)
Console →

10. Quelques commandes complémentaires (utiles… ou pas !)

Instruction Python Effet


If a !=2 Si « a » est différent de 2
Reste de la division euclidienne de « a »
a%b par »b »

Liste est une liste

[Link](n) Indice de la première apparition de l’élément


de valeur n
[Link]() Duplication de la liste Liste

[Link]() Ordonne une liste dans l’ordre croissant ou


alphabétique

[Link](Liste) Mélange une liste

[Link](n) Compte le nombre d’apparitions de l’élément


de valeur n dans la liste .

[Link](n) Supprime l’élément de valeur n

Console →

11. Quelques programmes :

Calcul des fréquences d’apparition des numéros lors de lancers d’un dé à 6 faces :

import random
N=int(input('Nombre de lancers de dés'))
print( "Le dé a été lancé ", N," fois")
L=[];
for i in range(0,6):
[Link](0)
print('I-------------------I')
for i in range(0,N):
resde=[Link](0,5)
T=int(1+L[resde])
L[resde]=T
for i in range(0,6):
print( ' f(',i+1,')=',float(L[i])/N)
print('I-------------------I')

Console

Approximation de l’aire sous la courbe 𝒄𝒇 : 𝒚 = 𝒙𝟐 sur [0 ;1] par la méthode de Monte-Carlo

import random
import math
import numpy
import [Link] as plt

N=1000
D=0
[Link]('x')
[Link]('y')
for i in range (1,N) :
x=[Link]()
y=[Link]()
if y<=x*x:
D=D+1
[Link](x,y,s=20,c='red')
else:
[Link](x,y,s=20)
I=float(D)/N
print ('Aire=',I)
[Link]('Nuage de points avec Matplotlib')
a = [Link](0,1, .001)
b = a*a
[Link](a,b,'red')

[Link]()
On obtient dans ce cas, pour n=1000, une valeur
1
approchée de 0,294 (pour une valeur exacte de 3).

Pour n= 3000 Pour n=4000


On obtient dans ce cas une valeur approchée On obtient dans ce cas une valeur approchée
de 0.3426666666666667 de 0.33275

Vous aimerez peut-être aussi