• Aucun résultat trouvé

I Instructions de base

N/A
N/A
Protected

Academic year: 2022

Partager "I Instructions de base"

Copied!
7
0
0

Texte intégral

(1)

BCPST2

5 0 0 Aide Mémoire Python

I Instructions de base

A) Opérations élémentaires

Opération Symbole

Addition +

Soustraction -

Multiplication *

Puissance **

Reste de la division euclidienne % Quotient de la division euclidienne //

Divisions sur les ottants / Les fonctions usuelles mathématiques sont dans le package math :

import du package math from math import ∗

B) Tirer au hasard

importer le package random import random

Commande Eet

random.random() Tirer un nombre entre0 et1

random.randint(i,j) Choisir un entier au hasard dansJi, jK random.choice(L) Choisir un élément de la liste L

random.sample(L,n) Choisirnélements d'une liste L sans répétition

C) Intéractions avec l'utilisateur

Intéractions p r i n t( a ) # a f f i c h e a

b = input (' e n t r e r une v a l e u r ') # demande à l ' u t i l i s a t e u r une v a l e u r qui

# s e r a a f f e c t é e à b

D) Quelques astuces

Astuces s += 5 # r a j o u t e 5 à s

s ∗= 2 # m u l t i p l i e s par 2

a , b = b , a #Echange l e s v a l e u r s de a et b

(2)

II Listes

A) Créer une liste

â Création par énumération : L =[3 ,7 ,42]

â Création par concaténation

M = A+B # concat é nation d ' une l i s t e A et d ' une l i s t e B L = [ 0 , 1 ]∗5 0 # l i s t e qui r épè te 50 f o i s : 0 , 1

â Utilisation de range :

L = range (50) #0 l i s t e de 50 e n t i e r s de 0 à 49

L = range ( 3 , 1 2 ) # l i s t e des e n t i e r s de 3 à 12 ( exclu )

L = range ( 5 , 1 5 , 3 ) # l i s t e d ' e n t i e r s par pas de 3 , à p a r t i r de 5

# et jusqu ' à 15( e x c l u s ) [ 5 , 8 , 11 , 1 4 ]

â Création par compréhension : L=[i∗∗2 f o r i in range (100) ]

B) Opérations sur les listes

On considère une liste L :

Appel des éléments de L Commande Eet

len(L) longueur de L

L[i] élement d'indice 2 (les indices commencent à 0) L[-1] dernier élément de la liste

L[-2] avant-dernier élément

L[i : j] liste contenant les éléments d'indice i(inclus) à j(exclus) L[i :] liste contenant les élements d'indice i jusqu'à la n L[ : i] liste contenant les élements du début jusqu'à i(exclus)

Opérations sur une liste L

Commande Eet

L.append(v) ajoute un élément valant v à la n de la liste L.extend(s) rajoute à L tous les éléments de la liste s L.insert(i,v) insert l'objet v à l'indice i

L.pop() supprime le dernier élément de la liste

(3)

C) Recopier une liste

Remarque:

Si vous avez besoin de faire une copie d'une liste a dans une liste b et de modier celle-ci de façon indépendante de la liste d'origine, une instruction du style b=a ne correspondra pas à ce que vous chercher : en eet toute modication ultérieure sur a sera eectuée également sur b et vice et versa.

Il faut donc procéder ainsi :

Copie de liste b = list ( a )

# oub = a [ : ]

D) Tableau à double entrée ou matrice

Il n'y a pas de structure en python pour les matrices ou tableau à plusieurs entrées. On peut cependant obtenir des objets similaires en créant des listes de listes.

Pour obtenir un achage sous forme de matrice, il faut utiliser le package numpy. Ce package permet d'ailleurs de faire beaucoup de choses sur les matrices.

Création d'une matrice import numpy

M = [ 0 ]∗p f o r i in range ( n ) #matrice de 0 , n l i g n e s et p colonnes M [ i ] [ j ] # Appel de l ' é l ément d ' i n d i c e ( i , j )

p r i n t( numpy . array ( M ) # A f f i c h a g e de matrice

Remarque:

Ne pas oublier qu'en python, la numérotation commence à0. Remarque: Copie d'une matrice

On rencontre la même diculté pour copier une matrice que pour une liste.

copie de matrice def copie_matrice ( a ) :

b= [ ligne [ : ] f o r ligne in a ] return b

ou bien

copie de matrice from copy import deepcopy

b = deepcopy ( a )

(4)

III Graphismes de base

Lorsqu'on veut utiliser des fonctions graphiques, commencer par : import du package graphique import matplotlib . pyplot as plt

Remarque:

L'indication as plt est un raccourci pour l'utilisation future des fonctions de matplotlib.

A) Les instructions de bases

Graphique de base graphe = plt . plot ( listX , listY )

plt . show ( )

â La première ligne dénit un graphique où les abscisses des points sont dans listX et les ordonnées dans listY.

On donne ici un nom (graphe) au graphique, c'est facultatif mais peut-être utile pour modier ultérieu- rement son aspect.

â La deuxième ligne permet l'achage du graphique.

B) Modication de l'aspect

Evidemment, il est ensuite possible d'améliorer le graphique :

Pour cela, rajouter des instructions directement au moment de la dénition du graphique : Modication du graphique

graphe = plt . plot ( listX , listY , color = ' red ', linewidth =4) ou bien ultérieurement :

Modication du graphique plt . setp ( graphe , color = ' red ' , linewidth =4)

Propriété Rôle Valeurs possibles

color couleur 'red', 'blue', etc.

label légende de la courbe une chaine de caractère

linestyle type de ligne (pointillés, etc.) '' '-.' ' :'

linewidth épaisseur du trait entier

marker forme des points '+' ',' '.' 'o' '1' '2' '3' '4'

markersize or ms taille des points oat

markevery pour marquer 1 point sur 2, ou 1 sur 3, etc. integer zorder plus il est élevé, plus la gure est 'devant' integer

(5)

D) Tracer une fonction

Graphe d'une fonction import numpy

import mathplotlib . pyplot as plt listX = numpy . arange ( debut , fin , pas ) listY = [ f ( x ) f o r x in listX ]

graphe = plt . plot ( listX , listY )

# Rajouter i c i l e formatage du graphe , axes , l é gendes , t i t r e plt . show ( )

IV Méthodes sur les chiers

Commande Eet

f=open(`chier') ouvre `chier' en lecture f=open(`chier','w') ouvre `chier' en écriture

f=open(`chier','a') ouvre `chier' en écriture en écrivant à la suite des données déjà présentes f.read() renvoie le contenu du chier f

f.readline() lit une ligne

f.readlines() renvoie la liste des lignes de f

f.write(s) écrit la chaîne de caractères s dans le chier f

f.close() ferme f

(6)

V Élements de base pour la programmation

Remarque:

Il faut faire très attention aux indentations : les instructions doivent être parfaitement indentées car c'est le retour d'indentation qui joue le rôle d'un marqueur de n de la structure.

A) Structure de test

Structure d'un if i f condition1 :

INSTRUCTIONS1 e l i f condition2 :

INSTRUCTIONS2 e l s e :

INSTRUCTIONS3 : Poursuite du programme

Remarque:

â Les tests peuvent s'écrire à partir égalité (==), inégalités ( <, <=, >=, >) , d'appartenance ( in )

â Ils peuvent être composés à l'aide de la négation (not), le et logique (and), ou bien ou logique (or)

â L'évaluation des tests est dite paresseuse :

On doit évaluer a and b : Python évalue a, si celui est faux b ne sera pas évalué puisque de toute façon, a and b est alors faux.

B) Boucle for

Boucle for f o r p in list :

INSTRUCTIONS

Poursuite du programme

Remarque:

â Pour créer une liste d'entiers : range(n) : cette liste contient lesnentiers de0 àn−1

â On peut aussi faire une boucle for avec une autre liste déjà écrite, qui ne contient pas néces- sairement des entiers.

(7)

D) Ecrire une fonction

On veut dénir une fonction dont le nom est mafonction, ayant arg1, arg2 et arg3 en arguments d'entrée et sortie1, sortie2 en arguments de sortie.

Dénir une fonction def mafonction ( arg1 , arg2 , arg3 ) :

""" i n d i c a t i o n s qui a p p a r a i t r o n t dans l e s b u l l e s d ' aide """

INSTRUCTIONS

return sortie1 , sortie2

instruction suivante en dehors de la fonction

Remarque:

La n de la fonction est matérialisée en python par le retour de l'indentation.

Pour appeler la fonction avec a,b,c en entrée et récupérer les 2 sorties dans des variables sort1 et sort2.

( sort1 , sort2 ) = mafonction ( a , b , c )

Remarque:

Toutes les listes mises en argument d'entrée et qui sont modiées dans la fonction seront automa- tiquement modiées, il est inutile de les mettre comme arguments de sortie.

Références

Documents relatifs

permettent de modifier la direction d’un nombre donné de degrés dans le sens trigonométrique (pour left) ou des aiguilles d’une montre (pour right).. Dans l’exemple

Tracer sur la même zone de graphique deux courbes côte à côte : la première correspondant à votre courbe précédente modifiée pour que les points soient des cercles rouges,

Tracer la courbe représentant y en fonction de x avec le style styleDuGraphe, l’épaisseur linewidth, le nom de la courbe à afficher dans la légende étant label.. plt.xlabel('x -

[r]

(ii) adjacent countrie s should guard against excessive competition against o~e ano~her in the granting of such incentives; otherwise th e r e m i g ht result

Déterminer le maximum de la fonction

[r]

Jean Houssaye, « Pédagogies : import-export », Revue française de pédagogie [En ligne], 155 | avril-juin 2006, mis en ligne le 21 septembre 2010, consulté le 20