Vous êtes sur la page 1sur 8

In#ormati+ue et Sciences u

Langage

Python 3 Mmo

Lyce Saint

I Entres, Sorties et Variables


1 ) Sorties
Pour permettre au programme en cours !e"cution !a##icher un te"te ou un nombre on utilise la comman e print$ Exemples :

print("Bonjour !") print(2) print(1) print(2) print(3)


Affichage : 1 & 3

a = 3 print("Le carr de", a,"est", a


%

a)

print(1, end = " ") print(2, end = " ") print(3, end = " ")

Affichage : 1 & 3

& ) Entres
'#in e pou(oir ialoguer a(ec un programme en cours !e"cution, il est par#ois ncessaire e on) ner une (aleur *en utilisant le cla(ier) +ue eman e le programme$ Exemples :

nombre = input("Entrer un nombre") print("Le carr de", n,"est", n n) n = float(nombre)


% ,ans le eu"i-me e"emple, si on tape ., par e"emple, ans toute la suite n sera gale / .$ Attention : u programme, la (ariable

0 le signe 1 = 2 n!est pas le signe gal au sens mathmati+ue 3 il permet e onner une (aleur / une (ariable$ 4n peut (oir n = . comme n . $ 0 input est une #onction +ui ren(oie tou5ours une cha6ne e caract-res$ Pour changer le type !une (ariable, on utilise 3 7 str pour les cha6nes e caract-res *inutile a(ec input) 7 int pour les entiers 7 float pour les nombres / (irgule #lottante$ 0 8ne autre #a9on e #aire pour le eu"i-me e"emple est 3

Langage

Python 3

Page

II :alcul a(ec Python 3


Les oprations de base + ; ;; < a ition soustraction multiplication i(ision puissance i(ision enti-re reste e la i(ision

15

=ponse 3 &

15 " !
=ponse 3 3

Lcriture scientifique Exemple :

2#$5e3
=ponse 3 &>?@$@

III Aoucle #or $ $ $ in


for n in ran%e(3)& print(n, end = " ")
Rsultat : @ 1 & Remarque : toutes les instructions +ui sont in entes B#ont partiesB e la boucle for

for loop in ran%e(3)& print("'ello", end = " ") print("(orld") print("End")


Rsultat : Cello Dorl Cello Dorl Cello Dorl En

IV Eest i#
1 ) Instruction i#
La comman e if permet e tester le contenu !une (ariable et e"cute une srie les con itions sont remplies$ !instructions si

nombre = float(input(")*oisisse+ un nombre")) if (nombre,-)& print("Le nombre c*oisi est positif") print(".in du pro%ramme")

& ) Eester la (aleur !une (ariable contenant un nombre


Si n signe une (ariable contenant un nombre, alors 3 Test en franais Si n est gal / Fro Si n est i##rent e 3. Si n est compris strictement entre @ et 1@ Si n est i(isible par ?

3 ) Eester plusieurs (aleurs !une (ariable


Il est par#ois utile programme$ e tester plusieurs (aleurs !une mGme (ariable pour poursui(re l!e"cution !un

n = input("Entrer un nombre & ") if n/-& print("Le nombre est n%atif") elif n==-& print("Le nombre est %al +ro") else& print("Le nombre est positif")
Si n est ngati#, alors on l!a##iche Sinon si n est gal / Fro, alors $ $ $ Sinon #orcment n est positi#

V Aoucle Hhile
Les eu" programmes sui(ant sont +ui(alents 3

a=(*ile a/1-& print("boucle 0ant 1ue") a=a21 print(".in du pro%ramme")

for loop in ran%e(1-)& print("boucle for") print(".in du pro%ramme")

VI :ha6nes e caract-res
t3t=4"Bonjour !", ditelle#5n"Bonjour", rponditil#4 print(t3t)
Rsultat : BAon5our IB, it)elle$ BAon5ourB, rpon it)il$ Remarques :

0 5n ins-re un retour / la ligne$ 0 54 ins-re une apostrophe ans une cha6ne limite par es apostrophes$ ,e mGme, 5" ins-re es guillemets ans une cha6ne limite par es guillemets$

1 ) 'cc-s au" caract-res in i(i uels !une cha6ne


c* = ")onstance" print(c*6-7, c*687, c*697)
Rsultat : : t e

& ) 4prations lmentaires sur les cha6nes


a = ":n cours" b = " a s4apprend !" c = a 2 b print(c) c* = ";ierre" print(len(c*)) c* = "12" n = int(c*) print(n 2 9)
,onne la longueur e la cha6ne e caract-re$ Rsultat : J :on(ersion !une cha6ne e caract-re +ui re) prsente un nombre$ Rsultat : &@ Rsultat : 8n cours 9a s!appren I

VII Les listes


8ne liste est une collection !lments spars par crochets$ ,ans la suite, on consi rera cet e"emple 3 es (irgules, l!ensemble tant en#erm ans es

cours = 6"<j =u", ">uites", "0ri%onomtrie", 3#18, 2$19, ")omple3es"7 print(cours6-7, cours627, cours637) cours6-7="?=isions" print(cours)
Rsultat : ,5/ (u Erigonomtrie 3$1. Rsultat : K!=(isions!, !Suites!, !Erigono) mtrie!, 3$1., &>1L, !:omple"es!M Rsultat : J Rsultat : K!=(isions!, !Suites!, !Erigono) mtrie!, &>1L, !:omple"es!M

print(len(cours)) del(cours637) print(cours)

4n peut utiliser es mthodes e l!objet liste$ 8ne mtho e est appli+ue par un point$

cours#append("E3ponentielle") @ append si%nifie "ajouter" en an%lais

Rsultat : K!=(isions!, !Suites!, !Erigo) nomtrie!, &>1L, !:omple"es!, !E"ponen) tielle!M

Il e"iste !autres mtho es pour les listes 3 sort() *tri es lments ans l!or re croissant), re=erse () *in(erse l!or re es lments), inde3() *retrou(e l!in ice !un lment), remo=e() *enl-(e un lment)$ $ $

print(cours#inde3("E3ponentielle")) cours#remo=e(2$19) print(cours)

Rsultat : ? Rsultat : K!=(isions!, !Suites!, !Erigono) mtrie!, !:omple"es!, !E"ponentielle!M

Retour sur linstruction ran%e est une liste pr)remplie e ? lments 3 K@, 1, &, 3, .M ran%e(5) autres synta"es 3 ran%e(2,5) K&, 3, .M ran%e(-,5,2) K@, &, .M *la synta"e est ran%e(start, stop, step)) slicing

nombres = 62, 85, $,

print(nombres61&37) print(nombres62&37) print(nombres62&7) print(nombres6&27)

VIII Les #onctions


1 ) Importer es #onctions
4n peut a5outer / Python 3 es programmes +ui ont t crits par

es tiers$ Par e"emple, il e"iste un mo ule mat* +ui a t crit pour apporter es #onctions mathmati+ues, comme la racine carr 3 from mat* import s1rt print(s1rt(25)) print(s1rt(235!5215!58$3895A))
Remarques : 0 =acine carre se it square root en anglais$ 0 Pour importer toutes les #onctions !un mo ule, la synta"e est from mat* import Rsultat : ?$@ 1?3?@NJ?N$L@N1N?&?

chan) geant mat* par le mo ule (oulu)$

*en

& ) Proc ures


8ne proc ure est une #onction +ui ne ren(oie pas e (aleur$ ' ) Sans param-tre

def table$()& n = 1 (*ileprint(n n/11&


%

$, end = " ")

Rsultat : > 1. &1 &L 3? .& .N ?J J3 >@

n = n 2 1 table$()
A ) '(ec param-tre

def table(base)& n = 1 (*ileprint(n n/11&


%

base, end = " ")

Rsultat : L 1J &. 3& .@ .L ?J J. >& L@

n = n 2 1 table(9)
Remarque : on param-tres$ peut #inir es #onctions +ui acceptent plusieurs

3 ) 1 Vraies 2 #onctions
Le rsultat es proc ures ne peut pas Gtre rutilis 3 il n!a pas t stocO$ 8ne 1 (raie 2 #onction est une proc ure +ui permet e rutiliser le rsultat$ Python 3 utilise la mGme synta"e pour les

eu", mais on terminera une #onction par un return$ def cube(3)& return 3 3
%%

u = cube(3) " 1- @ le reste de la di=ision euclidienne par di3 donne le c*iffre des units print(u)

Rsultat : >

. ) Variables locales, (ariables globales


Lors+ue es (ariables sont #inies / l!intrieur u corps !une #onction, ces (ariables ne sont acces) sibles +u!/ la #onction elle)mGme$ 4n it +ue ces (ariables sont es (ariables locales / la #onction$ Les (ariables #inies / l!e"trieur !une #onction sont es (ariables globales$ Leur contenu est (isible e l!intrieur !une #onction, mais la #onction ne peut pas le mo i#ier$ :epen ant, on peut +uan mGme mo i#ier une (ariable globale par une #onction / l!ai e e l!instruc) tion %lobal 3

def plus:n()& %lobal a a = a 2 1 print(a) a = 15 plus:n()


Rsultat : 1J

def plus:n2()& a = a 2 1 print(a) a = 15 plus:n2()


Rsultat : Erreur 3 8nboun LocalError 3 local (a) riable !a! re#erence be#ore assignment

plus:n()
Rsultat : 1>

IP Manipulation e #ichiers
,ans cette section, on consi -re un #ichier te"te scores#t3t +ui se trou(e au mGme en roit +ue le script Python$

1 ) 4u(rir un #ichier
objfic*ier = open(4nom.ic*ier4, 4modeLecture4)
La #onction open (a crer un objet-fichier *objfic*ier ici) au+uel on peut appli+uer es mthodes$ Il est ou(ert ans le mo e e lecture spci#i$ Les cas possibles sont 3 0 4r4 3 ou(erture en lecture *rea )$ 0 4(4 3 ou(erture en criture *write)$ Le contenu u #ichier est cras$ Si le #ichier n!e"iste pas, il est cr$ 0 4a4 3 ou(erture en criture en mo e a5out *appen )$ 4n crit / la #in u #ichier sans craser l!ancien contenu u #ichier$ Si le #ichier n!e"iste pas, il est cr$

f = open(4scores#t3t4, 4r4)

Pour ou(rir le #ichier 4scores#t3t4 en lecture seule$ ,e

plus, on peut a5outer / ces mo es le signe b pour ou(rir le #ichier en mo e binaire$

& ) Qcrire

ans un #ichier
e la mtho e (rite$ Il ne #aut pas oublier e #ermer le #ichier / l!ai e e la

:ela se #ait / l!ai e mtho e close$

a = 25$!A2 b = 1AA92$ f = open(4scores#t3t4, 4(4) f#(rite(">cores des joueurs &5n") f#(rite("Blice & " 2 str(a) 2 "5n") f#(rite("Bob & " 2 str(b) 2 "5n") f#close()
Rsultat : Le #ichier scores#t3t contient maintenant 3 Scores es 5oueurs 3 'lice 3 &?>JN& Aob 3 1NNL&>

Remarque : la mtho e (rite n!accepte +ue es cha6nes e caract-res en param-tre, !oR la con(er) sion / l!ai e e str$

3 ) Lire un #ichier
Mthode read 3 elle permet e lire l!intgralit u #ichier ou e lire un certain nombre e caract-res / partir e la position atteinte$

f = open("scores#t3t", "r") t = f#read() print(t) f#close()


L!intgralit u te"te est lu 3 Scores es 5oueurs 3 'lice 3 &?>JN& Aob 3 1NNL&>

f = open("scores#t3t", "r") t = f#read(9) print(t) t = f#read(19) print(t) f#close()


Rsultat : Scores es 5oueurs 3 'lice

Mthode readline 3 elle ne lit +u!une ligne / la #ois$

f = open("scores#t3t", "r") f#readline() @ on saute la premire li%ne t=f#readline() print(t) t = f#readline() print(t) f#close()

Rsultat : 'lice 3 &?>JN& Aob 3 1NNL&>

P Pour en sa(oir plus$ $ $


Selon (os en(ies ou le pro5et +ue (ous prsentereF au bac (ous pourreF a(oir besoin !appro#on ir certaines notions *inter#aces graphi+ues, manipulation e #ichiers, etc$)$ Vous pourreF trou(er e l!ai e en sui(ant les liens ci) essous, ou en e##ectuant une recherche sur internet$ 0 0 0 0 Le site 3 #rance)ioi$org 8n li(re tlchargeable gratuitement *mais on peut l!acheter aussi I) 3 in#ore#$be;sDi;python$htm La ocumentation o##icielle 3 ocs$python$org;3; Les cours sur openclassrooms *anciennement Bsite u FroB) 3 #r$openclassrooms$com;in#ormati+ue;python;cours