• Aucun résultat trouvé

Initiation Python

N/A
N/A
Protected

Academic year: 2022

Partager "Initiation Python"

Copied!
23
0
0

Texte intégral

(1)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions Bibliothèques Erreurs Astuces Aide

Initiation Python

Juin 2019

(2)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions

L’interpréteur (console internePython)

>>> p r i n t(" Coucou ") Coucou

L’éditeur

# - * - coding: utf-8 - * - p r i n t(" Coucou ")

Généralement, on utilisera la ligne de commande à des fins de tests et l’éditeur pour automatiser un ensemble de tâches.

(3)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions Bibliothèques Erreurs Astuces Aide

Python, c’est joli . . .

Python dispose d’une syntaxe élégante : docstring

systèmes de blocs indentation après " : "

commentaires commencant par un "#"

(4)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions

. . . très joli !

#! /usr/bin/python

# - * - coding: utf-8 - * -

""" Docstring : Ce programme ne fait rien d ’ important

"""

a = " Hello "

b = " Coucou "

choix = 1

if choix = = 1: # si choix = 1 alors ...

p r i n t( a )

else: # sinon ...

p r i n t( b )

(5)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions Bibliothèques Erreurs Astuces Aide

Types numériques

Nombres :int,float,complex,bool exemples

>>> a = 1

>>> type( a )

<c l a s s ’ int ’>

>>> b = 1/3

>>> type( b )

<c l a s s ’ float ’>

>>> c = 2j

>>> type( c )

<c l a s s ’ complex ’>

>>> choix = True

>>> type( choix )

<c l a s s ’ bool ’>

(6)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions

Autres types

Chaînes, listes, tuples, . . . exemples

>>> ch0 = " Je suis une cha î ne "

>>> type( ch0 )

<c l a s s ’ str ’>

>>> liste0 = [" en vrac ", [2 , 3], (5 , 7 ) , True]

>>> type( liste0 )

<c l a s s ’ list ’>

>>> tuple0 = (1 ,5 ," ch ")

>>> type( tuple0 )

<c l a s s ’ tuple ’>

(7)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions Bibliothèques Erreurs Astuces Aide

Il existe des opérateurs arithmétiques, de comparaison, . . . Opérateurs pour les nombres

+,∗,/,∗∗,==,round (),abs (),min(),max(), . . . opérations

>>> a = = b False

>>> a + 2* b

1 . 666666666666 6 66 5

>>> a < b False

>>> c + 2*a ( 2+2j )

>>> a+ =1

>>> a 2

>>> r o u n d(b , 2 ) 0 . 33

(8)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions

Les chaînes de caractères ne sont pas modifiables.

Opérateurs pour les chaînes

+ (concaténation), * (répétition),len (),min (),max (), . . . opérations

>>> ch1 = " bla "

>>> ch2 = " bli "

>>> ( 2*ch1 + 3*ch2 )*2

’ b l a b l a b l i b l i b l i b l a b l a b l i b l i b l i’

>>> len( ch1 ) 3

>>> ch1[2]

’a ’

(9)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions Bibliothèques Erreurs Astuces Aide

Les listes sont des tableaux indexés modifiables.

Méthodes pour les listes

append (),join (),split (),remove (),sort (), . . . listes 1

>>> ma_liste = [1 ,5 ,8 , 12 ,-9 . 8]

>>> len( ma_liste )

5

>>> ma_liste[3]

12

>>> del ma_liste[4]

>>> ma_liste

[1 , 5 , 8 , 12]

>>> liste_ch = [str( el ) for el in ma_liste]

>>> liste_ch

[’1 ’, ’ 5 ’, ’8 ’, ’ 12 ’]

>>> ’- -’. join ( liste_ch )

’1- -5- -8- -12 ’

(10)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions

listes 2

>>> ma_liste = [ ]

>>> for cpt in r a n g e( 12 ):

... ma_liste .append( cpt**3 ) ...

>>> ma_liste

[0 , 1 , 8 , 27 , 64 , 125 , 216 , 343 , 512 , 729 , 1000 , 1331]

>>> ma_liste_prim e = ma_liste[1:5]

>>> ma_liste_prim e

[1 , 8 , 27 , 64]

(11)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions Bibliothèques Erreurs Astuces Aide

Ce sont des listes indexées non modifiables (ou non mutables) tuples

>>> mon_tuple = (3 , 0 , 9 )

>>> mon_tuple[0]

3

>>> ma_liste = list( mon_tuple )

>>> ma_liste

[3 , 0 , 9]

(12)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions

Les blocs

Notez le caractère " : " qui permet de commencer un bloc. Il est suivi d’une indentation (toucheTab ).

Cela concerne notamment : les bouclesfor

les boucleswhile les testsif,elif,else les fonctionsdef

Il en existe également dans d’autres types de blocs.

(13)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions Bibliothèques Erreurs Astuces Aide

L’instructionifsert à poser une condition : SI ... ALORS ... SINON ...

L’instruction elif peut être absente ou présente plusieurs fois.

if, elif, else

choix = 5

if choix = = 1:

p r i n t(" Hello ") elif choix = = 2:

p r i n t(" Coucou ") elif choix = = 3:

p r i n t(" Hallo ") else:

p r i n t(" Sympa !")

(14)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions

L’instructionforsert à effectuer une boucle dont on connaît le début et la fin, ainsi que le pas. Elle signifie :

POUR ... VARIANT DE ... à ... PAR PAS DE ... FAIRE.

for 1

>>> for cpt in r a n g e(3 , 13 , 2 ):

... p r i n t( cpt ) ...

3 5 7 9 11

(15)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions Bibliothèques Erreurs Astuces Aide

for 2

>>> ma_liste = [5 ,9 ," elem ",6 . 0]

>>> for el in ma_liste:

... if type( el ) ! = int:

... p r i n t(" L ’é l é ment ", el ," n ’ est pas un entier ")

...

L’é l é ment elem n ’est pas un entier L’é l é ment 6 . 0 n ’est pas un entier

(16)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions

while 1

L’instructionwhilesert à effectuer une boucle dont on ne connaît pas forcément la fin. Elle signifie :

TANT QUE ... FAIRE.

>>> cpt = 25

>>> w h i l e cpt > 4:

... cpt = cpt -5 ... p r i n t( cpt ) ...

20 15 10 5 0

(17)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions Bibliothèques Erreurs Astuces Aide

while 2

>>> c = 100

>>> w h i l e c < =1e8: ... c = c * 10 ... p r i n t( c ) ... if c = = 1e5:

... p r i n t(" 100 000 !") ...

1000 10000 100000 100 000 ! 1000000 10000000 100000000 1000000000

(18)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions

La notion de fonction est indispensable en programmation : elle permet notamment d’utiliser plusieurs fois la même suite d’instructions.

fonctions

def puiss_n (x , n ): resultat = x ** n r e t u r n resultat p r i n t( puiss_n (2 , 4 ) ) p r i n t( puiss_n (5 , 3 ) )

(19)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions Bibliothèques Erreurs Astuces Aide

Les bibiothèques : kesako ?

Il existe des fonctions ou méthodes prédéfinies dans des bibliothèques, par exemple pour les graphes, pour la résolution d’équations différentielles, . . .

import, from

>>> from math i m p o r t cos

>>> cos( 3 . 14 ) -0 . 999998731727 5 39 5

>>> i m p o r t math as m

>>> m .cos( 1 . 57 ) 0 . 00079632671 0 73 3 2 63 3

>>> from math i m p o r t *

>>> sqrt( 2 )

1 . 414213562373 0 95 1

(20)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions

Les erreurs les plus souvent rencontrées :

l’oubli des " : " en fin de test (if,for,while,else), l’oubli de l’indentation,

la confusion entre "==" (le test d’égalité) et "="

(l’affectation),

la ligne précédente non terminée (par exemple, oubli d’une parenthèse fermante),

les indices : de 0 àn−1 sousPython, la copie de liste.

(21)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions Bibliothèques Erreurs Astuces Aide

Des astuces pour gagner du temps

CTRL

CTRL 11 pour commenter ou décommenter, pour indenter une ligne ou un bloc,

SHIFT

SHIFT pour désindenter une ligne ou un bloc.

\

\ en fin de ligne pour écrire la suite sur la ligne du dessous.

et pour récupérer les lignes précédentes ou suivantes en mode interpréteur.

(22)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions

Demander de l’aide À qui ?

À moi :obelix56@free.fr Sur les forums (fora ?) Par exemple sur le site :

https://www.developpez.net/forums/f96/

autres-langages/python-zope/

(23)

Initiation Python

Présentation Syntaxe Types Nombres Chaînes Listes Tuples Tests

Les blocs Conditionnelle Boucles for boucles while

Fonctions Bibliothèques Erreurs Astuces Aide

Des tutoriels

http://python.lycee.free.fr/index.html https://python.developpez.com/tutoriels/

debuter-avec-python-au-lycee/

L’excellent ouvrage de Gérard Swinnen au formatodfou pdf:http://inforef.be/swi/python.htm(les codes source des exemples ainsi que les corrigés sont disponibles en ligne).

Un tutoriel en ligne

http://www.france-ioi.org/algo/chapters.php

Références

Documents relatifs

• On vous demande explicitement dans chaque exercice de vérifier votre programme en calculant les premières valeurs de la suite, à l’avenir il faudrait penser à faire vous. même

On notera que la dernière instruction de l’exemple ci-dessus ne fait par conséquent pas partie de la boucle (elle n’est exécutée qu’une seule fois).. • Les boucles for

Je veux écrire un programme qui calcule le nombre de fois qu'il faut diviser par deux un nombre réel x ( avec x &gt;=1) pour obtenir un nombre inférieur ou égal à 1.. Ce

(**) Sous Casio, l’algorithme affiche toujours par défaut la dernière variable stockée.. 3) a) En s'inspirant des programmes précédents, écrire un programme (langage au

1°) Écrivez un programme qui calcule la somme des entiers de 1 à n où n est choisi par l’utilisateur... 2°) Testez ce programme avec différentes valeurs de n et essayez de trouver

• Si le bloc d'instructions doit être exécuté aussi longtemps qu'une condition extérieure est vraie alors utilisez while. Le choix entre for et while n'est souvent qu'une question

Écrivez une fonction friends(R,a) qui, pour un réseau R et un utilisateur a, retourne une liste contenant tous les amis de a dans le réseau et une liste vide s’il n’en possède

´ Ecrire une fonction conv1vers2(R1) qui prend en entr´ ee la premi` ere repr´ esentation d’un ensemble fini A et retourne la seconde repr´ esentation de A4. ´ Ecrire une