Chaînes de caractères (str) §3.3.2
>>> " Bo nj ou r " # entre guil l emet s
’Bonjour’
>>> ’ Bonjo ur ’ # ou apostrophes
’Bonjour’
>>> ’ Bon j o ur ’ + " tout " + " le " + " mon " + " de "
’ Bo nj our tout le m on de ’
print ( " C om me nt t ’ a ppe lles - tu ? " )
name = input ()
print ( " Bo njour " + nam e ) # ou print (" B onjour " , na me )
Moy & Devernay (CPP) Informatique CPP mars - mai 2017 <11 / 31 >
Chaînes de caractères (str)
>>> type( " 12 " )
<clas s ’ str ’>
>>> "12 " + " 3 " # un e ch a î ne n ’ es t pa s un nom b re
’ 123 ’
>>> 12 + 3
15
len(s) : longueur (nombre de caractères) de s
s[i] : chaîne contenant le caractère à la position i. (1er carac. : s[0])
s[i:j] sous-chaîne de la position iincluse à la pos. jexclue.
>>> s = " B o njour "
>>> len (s)
7
>>> s [5]
’ u ’
>>> s [1:4 ]
’ onj ’
Moy & Devernay (CPP) Informatique CPP mars - mai 2017 <12 / 31 >
Conversions de type §3.3.4
>>> int ( ’ 12 ’ ) # str vers int
12
>>> str(12) # int vers str
’ 12 ’
>>> floa t (1) # int vers floa t
1.0
i = int(in p ut ()) # lire un e nt ie r ( é ch ou e si non - e nt ie r )
f = f lo at (i nput ()) # lir e un f lo tt an t (é cho ue si . ..)
Moy & Devernay (CPP) Informatique CPP mars - mai 2017 <13 / 31 >
Valeur de vérité (vrai/faux) : les booléens §3.1.4
True ou False.
Représentation possible sur un
bit.
int(True) vaut 1,
int(False) vaut 0.
>> > 2 > 1
True
# ne p as co nfo ndr e av ec =
>> > 2 == 3
Fa ls e
# s ’é c ri t d an s l ’ or dr e
# où on le d it
>> > 2 >= 1
True
>> > 2 <= 2
True
>> > 2 < 2
Fa ls e
>> > 2 != 2
Fa ls e
>> > 1 != 2
True
>> > x = 2 == 2 # x est de t yp e bo ol
>> > x
True
>> > x = 42
>> > x > 12 an d x < 10 0 # " et " l o gi qu e
True
>> > x > 12 an d x < 30
Fa ls e
>> > x > 12 o r x < 30 # " ou " l og i qu e
True
>>> no t x > 12 # " no n " lo gi qu e
Fa ls e
Moy & Devernay (CPP) Informatique CPP mars - mai 2017 <14 / 31 >
Priorité des opérateurs
Par ordre décroissant :
or (ou logique)
and (et logique)
not x (non logique)
<,<=,>,>=,! =,== (comparaisons)
+,−(addition et soustraction)
∗,/,//,%(multiplication, division, reste)
+x,−x(signe positif, negatif)
∗∗ (exponentiation)
Dans le doute, ne pas hésiter à ajouter des parenthèses !
Moy & Devernay (CPP) Informatique CPP mars - mai 2017 <15 / 31 >
Expressions et variables (3.2)
Évaluation d’une expression : Python
remplace d’abord le nom des variables par
leur valeur. Erreur si le nom n’est pas défini.
Type d’une variable déterminé à chaque
affectation (une variable peut changer de
type).
>>> x = " 2 "
>>> type(x)
<cla ss ’str ’>
>>> x = in t (x)
>>> x
2
>>> type(x)
<cla ss ’int ’>
Échanger deux variables xet y:
x = 42 # x: 42
y=3 # x: 42 , y : 3
x=y # x: 3, y: 3
y=x # x: 3, y: 3
Caramba, encore raté !
x = 42 # x: 42
y=3 # x: 42 , y : 3
tmp = x # x : 42 , y : 3 , tmp : 42
x=y # x: 3, y: 3, tmp : 42
y = tmp # x: 3, y: 42 , tmp : 42
Exercice : échanger deux entiers sans 3e
variable.
Moy & Devernay (CPP) Informatique CPP mars - mai 2017 <16 / 31 >
Conditionnelle : if ... else §4.2
print( " x v au t " , x )
if x < 0:
x = -x
print( " x v au t m a in t en an t " , x )
if e co le = = " CP P " :
print( " Le C PP " )
print( " C ’ es t P as P ar e il " )
if e co le = = " CP P " :
if v ill e == " Gr en ob le " :
print( " Sup er ! ")
if e co le = = " CP P " a nd v il le == " G ren ob le " :
print( " Sup er ! ")
Syntaxe générale :
if <condition >:
<instruction1 >
<instruction2 >
...
<suite >
mot-clé if, en minuscule
ne pas oublier :
bloc d’instruction indenté
(4 espaces) exécuté si
condition vraie
dans tous les cas,
l’exécution continue après
le bloc indenté.
Moy & Devernay (CPP) Informatique CPP mars - mai 2017 <18 / 31 >
Conditionnelle : if ... else
Autre syntaxe possible :
print( " ava nt " )
if x > 0:
print( "x es t po si ti f ")
else:
print( "x e st n é g at if ou n ul " )
print( " apr è s ")
On peut imbriquer les if :
if x > 0:
print( "x es t po si ti f ")
else:
if x < 0:
print( "x es t n é ga ti f ")
else:
print( "x e st n ul " )
Plus lisible :
if x > 0:
print (" x est positif " )
elif x < 0:
print (" x e st n é ga ti f ")
else:
print ( "x es t nul ")
Moy & Devernay (CPP) Informatique CPP mars - mai 2017 <19 / 31 >