Premiers pas en Python - Séance du 14 septembre - 2nde 5

Variables et affectation

Exercice 2 du livre

In [2]:
a = 1
b = 3
a = a + b; print("a = " + str(a) + " b = " + str(b))
b = a * b; print("a = " + str(a) + " b = " + str(b))
a = 4 b = 3
a = 4 b = 12

Des expressions entre guillemets (simple ' ou doubles ") sont des chaînes de caractères (string en anglais). a est un entier (int eger en anglais), 'a' et str(a) sont des chaînes de caractères

In [5]:
type(a)
Out[5]:
int
In [7]:
type('a')
Out[7]:
str
In [8]:
type("a")
Out[8]:
str
In [9]:
type(str(a))
Out[9]:
str

Comment expliquer les résultats suivants:

In [10]:
 a + b
Out[10]:
16
In [11]:
'a' + 'b'
Out[11]:
'ab'
In [12]:
'2' + '2'
Out[12]:
'22'
In [13]:
2 + 2
Out[13]:
4
In [14]:
2 + '2'
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-14-82150feed70c> in <module>()
----> 1 2 + '2'

TypeError: unsupported operand type(s) for +: 'int' and 'str'

Quand on "colle" deux chaînes de caractères, on dit qu'on les concatène

Exercice 5

In [26]:
a = 5
b = 7
a = b
b = a
In [27]:
a,b
Out[27]:
(7, 7)
In [28]:
a = 5
b = 7
tmp = a
a = b
b = tmp
In [29]:
a,b
Out[29]:
(7, 5)

Que s'est-il passé ?

Exercice 3

In [16]:
a = 10
b = 15
P = a + b
P = 2*P
In [17]:
P
Out[17]:
50

Que faire si on veut utiliser d'autres valeurs pour a et b ?

Une solution est d'utiliser une fonction:

  • qu'on définit en lui donnant un nom
  • qui dépend de deux paramètres d'entrée
  • qui retourne une valeur
In [21]:
def perimètre(longueur, largeur):
    return 2*(longueur + largeur)
In [22]:
perimètre(10, 15)
Out[22]:
50
In [23]:
perimètre(4,7)
Out[23]:
22

Construisez une fonction qui calcule la moyenne de trois notes quelconques données en argument

Corrigez les exercices 6 à 9 en utilisant Python