Affichages à l`écran : retour à la ligne Variables Types simples

12/11/2008
1
Algorithmes et
structures de données
Cours
9
Cours
9
Patrick Reuter
http://www.labri.fr/~preuter/asd2008
Affichages à l'écran : retour à la
ligne
print "bonjour"
print ''martin" bonjour
martin
print "bonjour",
print ''martin" bonjour martin
bonjour = 1
print bonjour
print ''bonjour"
1
bonjour
bonjour
--------
1
Variables
Type simples:
Type booléen
Vrai/faux (p.ex. TRUE, boolean)
Type entier
– Nombre entier (p.ex. 5, int)
Type flottant
– Nombre à virgule flottant (p.ex. 5.12, float)
Types simples
Type booléen
Deux valeurs possibles : FAUX (False), VRAI (True)
Opérateurs de comparaison : ==, !=, >, >=, <, <=
2>8
# faux
2
>
8
#
faux
2 <= 8 # vrai
Opérateurs logiques : NON (not), OU (or), ET (and)
(3 == 3) or (9 > 24) # vrai
(9 > 24) and (3 == 3) # faux
not(2==2) # faux
Types simples
Type entier
20 + 3 # 23
20 - 3 # 17
20 * 3
#60
20
*
3
#
60
20 ** 3 # 8000
20 / 3 # 6 (division entière)
20 % 3 # 2 (modulo (reste de la
division entière)
12/11/2008
2
Types simples
Type entier long
Les entiers longs (seulement limités par la
mémoire vive)
– 2 ** 40 # 1099511627776L
– 3 * 72L # 216L
Types simples
Type flottant
Les flottants sont not´es avec un « point
d´ecimal » ou en notation exponentielle :
2.718 #
3e8 # 3 * 108
6.023e23 # 6.023 * 1023
2. # 2
3.0 # 3
Ils supportent les mêmes opérations que les
entiers, sauf :
20.0 / 3 # 6.666666666666667
20.0 // 3 # 6 (division entière forcée)
Variables
•Type
Motivation :
Calculer les intérets de 10 % d'une somme de 100
euros
euros
somme = 100.0
somme = somme + somme * 5.0/100.0
Excursion
Typage statique
p.ex. Java
int a;
= 3;
a = 3.5; // ERREUR
Typage dynamique
p.ex. python
a = 3;
a = 3.5; # OK
Pour connaître le type d'une variable :
a = 3
it
t()
p
r
i
n
t
t
ype
(
a
)
b = 3.5
print type(b)
c = round(b) # 3
Les chaînes de caractères
Notations :
Les guillemets
1 "L’ d l' é
"
c1
=
"L’
eau
d
e
l'
oc
é
an
"
n = len(c1) # 16
12/11/2008
3
Longueur :
s = "abcde"
print len(s) # 5
Concat´enation :
s1 = "abc"
s2 = "defg"
s3 = s1 + s2 # ’abcdefg’
On indique, entre crochets, la position d’un
caractère par un indice qui commence à 0
s = "abcdefg"
i t [0]
#
pr
i
n
t
s
[0]
#
a
print s[2] # c
On peut extraire une sous-chaîne par
découpage :
s = "abcdefg"
[1 3]
#’
b
s[1
:
3]
#
b
c
s[3:] # ’defg’
s[:3] # ’abc’
TD 6 Correction
TD 6 Correction
n i j
4
1
1
2
2
1
2
3
3
1
4
32
n= 4
i= 1
while i<=n:
j=1
2
3
4
4
1
2
3
4
5
5
3
2
2 1 0
1 0 -1 -2
j
=
1
while j<=i:
print n-i+1-j+1,
j = j + 1
print
i = i + 1
12/11/2008
4
TD 6 Correction
• Convertisseur
secondes = 125
Combien de minutes ? Combien de secondes ils
restent ?
TD 6 Correction
• Convertisseur
secondes = 1331
min
= secondes / 60
min
=
secondes
/
60
sec = secondes % 60
#ou bien
#sec = secondes - (min * 60)
print secondes," equivaut ", min, " minutes et ",sec,
" secondes"
TD 6 Correction
secondes = 1331
min = secondes / 60
sec = secondes % 60
#ou bien
#sec = secondes - (min * 60)
print secondes," equivaut ", min, " minutes et ",sec, " secondes"
TD 6 Correction
secondes = 18243
h d / 3600
h
eures = secon
d
es
/
3600
sec = secondes % 3600
min = sec / 60
sec = sec % 60
print secondes," equivaut ", heures, " heures et ",min,
print " minutes et ",sec, " secondes"
TD 6 Correction
secondes = 448402
jours = secondes / (3600*24)
sec = secondes % (3600*24)
heures = sec / 3600
sec = sec % 3600
min = sec / 60
sec = sec % 60
print secondes," equivaut ",jours, " jours et ",
print heures, " heures et ",min, " minutes et ",sec, " secondes"
12/11/2008
5
TD 6 Correction
nombreCaracteres = len(s)
SI (nombreCaracteres%2==0) ALORS
print "le nombre de caractères est pair"
SINON
print "le nombre de caractères est impair"
TD 6 Correction
"i" dans Mississippi
TD 6 Correction
s = "Mississippi"
longueur = len(s)
compteur = 0
i = 0
while (i < longueur):
if (s[i] == "i"):
compteur = compteur + 1
i = i + 1
print "nombre de 'i' dans ",s," : ",compteur
TD 6 Correction
• Palindrom
– ANNA
ROTOR
ROTOR
TD 6 Correction
• Palindrom ch[0] == ch[7]
TD 6 Correction
• Palindrom ch[0] == ch[7]
ch[1] == ch[6]
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !