• Aucun résultat trouvé

LES BASES DE PYTHON

N/A
N/A
Protected

Academic year: 2022

Partager "LES BASES DE PYTHON"

Copied!
12
0
0

Texte intégral

(1)

LES BASES DE PYTHON

Pour utiliser Python, il faut utiliser un environnement : ( Thonny, EduPython, Pyso, Spider...) Certaines fonctions spécifiques au langage Python sont rangées dans des bibliothèques.

Pour pouvoir les utiliser, on doit installer la bibliothèque dans l'environnement que vous utilisez ( Thonny, EduPython, Pyso, Spider...)

Après au début de votre programme vous devez importer la bibliothèque ou la fonction dont vous avez besoin.

Exemples :

from math import* : pour importer toute la bibliothèque math.

from math import sqrt : pour importer seulement la fonction racine carrée de la bibliothèque math.

AFFECTATION

Pour mettre 5 dans la mémoire prix on écrit : prix=5

Pour mettre simultanément 1 et 5 dans les mémoires a et b on écrit : a,b=1,5 Attention à l'ordre des affectations !!!!!!!!!:

Exercice : quels sont les nombres dans les mémoires x et y à la fin de ces programmes.

x=2 y=5

x=3*x+5*y y=12*x+y

x=2 y=5 y=12*x+y x=3*x+5*y

x=2 y=5

x,y=3*x+5*y,12*x+y

x=

y= x=

y= x=

y=

LES SIGNES OPERATOIRES

ATTENTION Il faut mettre tous les signes opératoires

exemple : 2 a3+5 a2+3a+4 s'écrit 2*a**3+5*a**2+3*a+4

(2)

DEMANDER ET ECRIRE

EX 1 :

Un opticien décide de faire des réductions sur les montures de lunettes d'un pourcentage égal à l'âge du client.

Ecrire un programme qui demande l'âge (nombre entier) et le prix initial (euros et centimes) et qui affiche le prix à payer.

L'INSTRUCTION CONDITIONNELLE « SI »

EX 2 :

Soit la fonction f définie par f(x)=x2−5 x+6

a) Ecrire un programme qui teste le signe de l'image par f d'un nombre demandé à l'utilisateur.

b) Compléter ce programme pour qu'il teste en plus si l'image est nulle.

EX 3 :

Une cuve de fioul est formée par deux parallélépipèdes.

Les dimension sont exprimées en mètre.

Ecrire un programme qui calcule le volume en m3 et le nombre de litres contenus dans la cuve pour

une hauteur h demandé à l'utilisateur.

(3)

LES BOUCLES

LA BOUCLE BORNEE « POUR » EX 4 :

Ecrire un programme qui écrit la table de multiplication d'un nombre entier entre 1 et 9 demandé à l'utilisateur.

EX 5 :

Ecrire un programme qui calcule 1² + 2² +... + n² pour un n demandé à l'utilisateur.

EX 5 b

Rappel : pour choisir aléatoirement un entier entre 5 et 45 on utilise la fonction : randint(5,45) il faut importer la bibliothèque « random »

Faire un programme qui simule et écrit le lancé de 1000 dés et qui donne le nombre fois que le six est sorti.

Remarque : quand on veut écrire dans une boucle « pour » sans passer à la ligne, il suffit d'écrire : print(a,end=' '),

LA BOUCLE NON BORNEE « TANT QUE »

EX 6 :

Au départ la population d'une ville est de 12000 habitants. On sait que tous les ans elle augmente de 1%.

Faire un programme qui calcule l'année à partir de laquelle la population va dépasser un seuil demandé à l'utilisateur.

Ex 7 :

Un étudiant commence ses études avec 1200 € sur son compte. Il reçoit chaque mois une bourse de 800 € et économise 80 € chaque mois.

Il veut s'acheter un objet de 1900 €. Ecrire un programme qui calcule le nombre de mois qu'il doit attendre.

(4)

LES PRINCIPALES FONCTIONS MATHEMATIQUES

(5)

LES FONCTIONS DANS PYTHON ( sous programmes)

Si on veut utiliser une partie du programme plusieurs fois (ex la vitesse en fonction du temps et de la distance) on utilise un sous programme appelé fonction dans Python.

Exemple 8 : def vitesse(d,t):

return d/t

a=float(input("Donnez la distance en km :")) b=float(input("Donnez le temps en heure :")) print(" Votre vitesse est ",vitesse(a,b)," km/h")

Remarque : Dans une fonction on peut mettre si des « if » ; « for » et « while »...

Exercice 9 :

Soit la fonction définie par f(x) =2x+9 si x  3 et f(x) = 3x+6 si x < 3

Ecrire un programme qui calcule l'image par f d'un nombre demandé à l'utilisateur en utilisant la notion de fonction python.

LES GRAPHIQUES

Exemple : Pour dessiner la courbe représentative de la fonction définie par f(x)=x2+3 sur [-3;4]

AVEC MATPLOTLIB AVEC PYLAB

import matplotlib.pyplot as plt import numpy as np

plt.axis([-4,5,-1,10]) plt.grid()

plt.title("courbe de x²+3") plt.xlabel("abscisses") plt.ylabel("ordonnées") x=np.linspace(-3,4,100) y=x**2+3

plt.plot(x,y) plt.show()

import pylab as pb pb.axis([-4,5,-1,10]) pb.grid()

x=pb.linspace(-3,4,100) y=x**2+3

pb.plot(x,y) pb.show()

(6)

LE MODULE TURTLE

EXERCICE 10 :

t.circle(rayon) ou t.circle(rayon,angle) — Si rayon>0 : Trace un cercle de rayon rayon à partir de la position de la tortue et en tournant dans

le sens trigonométrique.

— Si rayon < 0 : Trace un cercle de rayon |rayon| dans le sens horaire.

— Si angle est précisé, trace un arc de cercle de rayon

|rayon| avec une ouverture de angle (en degré).

Si angle n’est pas précisé, le cercle est tracé dans son intégralité.

t.showturtle() t.hideturtle() A pour effet de respectivement cacher ou montrer la tortue à l’écran. Pour des questions d’esthétisme, on

peut par exemple vouloir cacher la tortue en fin de tracé.

t.speed(v) Permet de régler la vitesse de la tortue. v est un nombre

entier entre 1 et 10, 1 étant la vitesse la plus lente et 10 la plus rapide.

t.pencolor(''red'') ou t.pencolor(rouge,vert,bleu) Définit la couleur du crayon.

— On peut entrer un texte entre guillemets parmi (entre autres) : ’aqua’, ’beige’, ’black’, ’blue’, ’brown’,

’chocolate’, ’fuchsia’, ’gold’, ’gray’, ’green’, ’indigo’,

’khaki’, ’maroon’, ’orange’, ’red’, ’white’, ...

— On peut aussi définir sa propre couleur en paramétrant les composantes rouge, vert et bleu de la

couleur (chaque composante étant un nombre entre 0 et 1).

t.reset() Efface l’écran et repositionne la tortue dans sa position

initiale

t.clear() Efface l’écran mais la position du crayon reste inchangée

t.write(''texte'') Affiche le texte texte à l’emplacement de la tortue. Celle-ci

ne se déplace pas lors de l’affichage.

(7)

EXERCICE 11 : Faire un programme qui dessine le logo du yin et du yang

EXEMPLE : Pour tracer le drapeau européen

import turtle t=turtle.Pen() turtle.pensize(2)

t.pencolor(0.9 , 0.9, 0.2) turtle.bgcolor('blue') for etoile in range (12):

t.down ()

for branche in range (5):

t.forward(30)

t.left(144)

t.up()

t.forward(50)

t.left(30) t.mainloop()

LES FONCTIONS ALEATOIRES il faut importer la bibliothèque « random »

EX 5 b

Faire un programme qui simule et écrit le lancé de 1000 dés et qui donne le nombre fois que le six est sorti.

Remarque : quand on veut écrire dans une boucle « pour » sans passer à la ligne, il suffit d'écrire : print(a,end=' '),

EXERCICE 12 :

On donne ci-contre la courbe représentative de la fonction carrée entre 0 et 2.

Faire un programme qui choisit aléatoirement 1 000 000 de points dans le

rectangle OABC et qui compte le nombre de points qui sont dans la partie coloriée puis qui estime l'aire coloriée.

2 2

3 4

0 1

1

x y

O

A C B

(8)

LES LISTES

Une liste est une suite d’éléments numérotés dont le premier indice est 0. Dans une liste on peut mettre des nombre ou de chaînes de caractères. Chaque terme de la liste est séparé par une virgule et mettre des guillemet quand c'est du texte.

Utiliser la bibliothèque

« lycee »

pour pouvoir utiliser toutes ces fonctions.

Exemples : L=[7,8,9,10] M=[''lundi'',''mardi'',''mercredi'']

Pour utiliser le terme i de L on écrit L[i] donc L[0] vaut 7 et M[2] vaut la chaîne de caractères mercredi.

len(L) Renvoie le nombre d'éléments de L

L=liste_demande(''texte'') Demande les éléments de L ( il faut les séparer par une virgule) L.append(b) Ajoute b à la liste L

L.insert(j,a) Insère a au rang j de L L.remove(e) Supprime le premier e de L

e in L Teste si e est dans L. renvoie vrai ou faux L.pop(i) Supprime le terme de rang i de L

L.index(e) Renvoie l'indice du premier e dans L L.count(e) Compte le nombre de e dans L L.sort() Range L par ordre croissant

M=sorted(L) Renvoie dans M la liste ordonnée L sans changer L L=L1+L2 Renvoie une liste L composée de L1 suivie de L2 L=L1*n Renvoie une liste L contenant L1 répétée n fois.

affiche_poly(L) Renvoie un polynôme dont les coefficients sont les termes de L.

affiche_poly([5,2,4]) donne 5+2*X+4*X**2 EXERCICE 13:

Rappel pour choisir aléatoirement un entier entre 5 et 45 on utilise la fonction : randint(5,45)

Faire un programme qui simule le lancé de 1000 dés en mettant ces résultats dans une liste et qui donne le nombre de 6 et la position du premier 6.

EXERCICE 14 :

Demander les coefficients d'un polynôme par ordre croissant des puissances et calculer sa dérivée.

EXERCICE 15:

Faire un programme en utilisant les listes qui calcule la moyenne de notes demandées à l'utilisateur.

Puis le compléter pour qu'il calcule aussi la médiane.

(9)

LES CHAINES DE CARACTERES

(10)

EX 1 :

age=int(input("Donnez l'age : "))

prixinitial=float(input("Donner le prix initial : "))

p=prixinitial*(1-age/100)

print("Le prix à payer est : ",p, "euros")

EX 6 :

n=int(input("Donner le seuil : ")) p=12000

i=0

while p<=n:

p=1.01*p i=i+1

print("La poulation va dépasser ",n," dans ",i," années") print("et la population sera de ",round(p,0),"habitants") EX 2

a :

from math import*

x=eval(input("Donnez votre x : ")) if x**2-5*x+6<=0:

print("l'image de ",x," est négative") else:

print("l'image de ",x," est positive") --- EX 2 b :

from math import*

x=eval(input("Donnez votre x : ")) if x**2-5*x+6==0:

print("l'image de ",x," est nulle") elif x**2-5*x+6<0:

print("l'image de ",x," est négative") else:

print("l'image de ",x," est positive")

EX 7 : n=0 s=1200

while s<1900:

s=s+80 n=n+1

print("Il faut attendre ",n," mois") EX 9

:

from math import*

def f(a):

if a<3:

y=2*a+9 else:

y=3*a+6 return y

x=eval(input("De quel nombre voulez-vous l'image x = ")) print ( "f(" , x , ") = " , f ( x ))

EX 3 :

h=float(input("Donnez la hauteur en mètre : ")) if h<=2.5:

v=6*h l=1000*v else:

v=12.5+h l=1000*v

print("Le volume est ",v,"m3") print("et il y a ",l,"l")

EX 10 (34 a) import turtle t=turtle.Pen() t.backward(130) t.right(60) t.forward(130) t.left(120) t . forward ( 130 )

EX 4 :

print("De quel nombre") print("voulez vous la table") nb = int(input ("n= ")) i=0for i in range (1,10):

print(i,"*",nb,"=",i*nb) --- print("De quel nombre")

print("voulez vous la table") nb = int(input ("n= ")) i=0

for i in range (10):

print(i,"*",nb,"=",i*nb)

Ex 10 ( 34 c) import turtle t=turtle.Pen() t.forward(130) t.up()

t.right(90) t.forward(40) t.down() t.right(90) t . forward ( 130 )

EX 5 :

n=int(input("Donner le n : ")) s=0

for i in range(1,n+1):

s=s+i**2 print ( "s = " , s )

EX 11 (tin et yang) import turtle t=turtle.Pen() t.up ()

t.forward(100) t.down () t .left(90) t.circle (200) t.circle (100, 180) t.circle (-100, 180) t.hideturtle() t . mainloop () EX 5 b

from random import*

n=0

for i in range(1000):

a=randint(1,6) print(a,";",end=''), if a==6:

n=n+1 print()

print("Le six est sorti ",n," fois")

(11)

EX 12 : ( aire sous courbe à l'aide de random) from random import*

n=0

for i in range(1000000):

x=2*random() y=4*random() if y<x**2:

n=n+1

print("l'aire est ",8*n/1000000," unités d'aire") EX 13 : ( tirages dés et liste)

from lycee import * De=[]

for i in range(1000) : De.append(randint(1,6)) n=De.count(6)

print(De)

print('Sur 1 000 lancers , vous avez obtenu ',n,'fois le chiffre 6.') if n>0 :

print('Le premier 6 a été obtenu au tirage numéro ',De.index (6)+1) EX 14 : (dérivée d'un polynôme à l'aide des listes)

from lycee import *

p= liste_demande('entrez les coefficients de p(x) par ordre des puissances croissantes, séparés par une virgule : ') q=[]for i in range(1,len(p)):

coef=i*p[i]

q.append(coef)

print("votre polynome est p(x)= ",affiche_poly(p)) print("sa dérivée est p'(x) = ",affiche_poly(q))

EX 15: (moyenne et de la médiane à l'aide de listes) en demandant en une seule fois les notes from lycee import*

p= liste_demande('Entrez toutes vos notes séparées par une virgule : ') m=0 # calcul de la moyenne

for i in range (len(p)):

m=m+p[i]

print("La moyenne est ",m/(len(p)))

ordre=sorted(p) # rangement par ordre croissant de p pour médiane if len(p)%2==0: # teste si l'effectif est pair

nb=int(len(p)/2)

med=(ordre[nb-1]+ordre[nb])/2 else:

nb=int((len(p)-1)/2) med=ordre[nb]

print("La mediane est : ",med)

EX 15: (moyenne et de la médiane à l'aide de listes) en demandant les notes une par une from lycee import*

p=[]

n=int(input("Combien avez vous de notes ? n = ")) for i in range(1,n+1):

print("Donnez votre note n°",i," ",end=''), a=float(input())

p.append(a)

m=0 # calcul de la moyenne for i in range (len(p)):

m=m+p[i]

print("La moyenne est ",m/(len(p)))

ordre=sorted(p) # rangement par ordre croissant de p pour médiane if len(p)%2==0: # teste si l'effectif est pair

nb=int(len(p)/2)

med=(ordre[nb-1]+ordre[nb])/2 else:

nb=int((len(p)-1)/2) med=ordre[nb]

print("La mediane est : ",med)

(12)

Références

Documents relatifs

Colorie autant de masques que le nombre demandé... Colorie autant de masques que le

[r]

[r]

(4) Effectuer une sym´ etrie axiale de l’image (on remplacera chaque image tab[i][j] par image tab[-i][j]).. (5) Effectuer une sym´ etrie centrale

Faire un programme qui demande le rayon et la hauteur d’un cylindre et qui affiche

Dans une station service, une cuve à essence a la forme d’un parallélépipède de 7,8 mètres de longueur et de 2,5 mètres de largeur. 1) Le matin, le pompiste constate que la

Ecrire un programme Pascal permettant de déterminer et d'afficher le nombre total d'appuies sur les touches du clavier d'un téléphone portable pour saisir un mot donné

Exercice 03 : Ecrire un algorithme qui demande un nombre de départ, et qui calcule sa