Ateliers nomades #Python 01

Les Types de données et la fonction input()

 

 

Au programme

Le cours

Ne pas hésiter à copier les bouts de code du cours dans un fichier sur trinket afin de tester le code avant les exercices.

Les types de données (Built-in Types)

Lorsque l’on installe l’interpréteur Python, un ensemble de programmes et de concepts va être installé de base avec ce que l’on appelle la librairie standard ou module standard.

D’autres programmes vont être installés mais ne seront pas directement accessibles.

On va trouver dans cette librairie des fonctions telles que celle pour afficher à l’écran print().

On va également trouver des concepts nous permettant de modéliser les notions que l’on utilise tous les jours de manière naturelle comme l’écriture ou les maths à travers ce que l’on appelle des objets types (Built-in Types).

Les entiers #Int

Le type Int représente nos entiers : -2, -1, 0, 1, 2 etc…

Et comme avec nos entiers en maths, on peut faire des opérations avec les objets de type Int.

Les additions et soustractions avec les symboles + et – 

>>> 1 + 2 
3
>>> 5 - 2 
3

Les multiplications & les divisions avec les symboles * et / 

>>> 2 * 2 
4
>>> 4 / 2
2.0

La division euclidienne (renvoie le reste de la division) avec le symbole % 

>>> 4 % 2
0
>>> 4 % 3
1

Les nombres réels #Float

Le type Float représente nos nombres réels (ou nombres à virgule) : -2.2, -1.4, 0, 1.0, 2.3 etc…

Et comme avec nos entiers en maths, on peut faire les mêmes opérations que vues précédemment avec les objets de type Int 

Pour votre curiosité, vous pouvez trouver sur la documentation Python (en anglais) plus d’informations sur les possibilités avec ce type.

Vous pouvez la voir ici

On peut voir dans la documentation que l’on peut utiliser d’autres fonctions sur les objets de types Int & Float

Ces fonctions appartiennent à un autre module. Le module math.

Un module est un regroupement de fonction.

Pour utiliser ces fonctions on doit importer (charger) le module math. 

En gros c’est comme si on ajouter une application à notre téléphone portable. Genre what’s app qui a accès nos numéros de téléphone.

>>> import math #On importe le module math
>>> 
>>> math.ceil(3.11416)#La fonction ceil arrondi à l'entier supérieur
4
>>> round(3.11416, 2) #La fonction round permet d'arrondir au dixième, centième etc...
3.11
>>> 

La documentation Python donne encore plus d’informations sur les possibilités avec ces types.

Vous pouvez la voir ici

Les chaînes de caractères #Str

Le type Str représente les chaînes de caractères. En gros le texte.

Il existe plusieurs fonctions que l’on peut utiliser sur les objets de type Str.

La concaténation + (coller une chaîne de caractères à une autre chaîne de caractères)

>>> "Luke" + "Skywalker" 
LukeSkywalker

La fonction capitalize() qui permet de mettre en majuscule le premier caractère d’une chaîne de caractères

>>> "luke je suis ton père".capitalize()
Luke je suis ton père
 

La fonction upper() qui permet de mettre en majuscule toute une chaîne de caractères

>>> "Luke je suis ton père".upper() 
LUKE JE SUIS TON PÈRE

La fonction replace(old, new[, count]) qui permet de remplacer un caractère par un autre dans une chaîne de caractères

>>> "Luke je suis ton père".replace("e","a") 
Luka ja suis ton pèra
>>> "1985" 
1985
>>> 
 

1985 est dans ce cas bien une chaîne de caractères et donc un objet de type Str non un objet de type Int.

Pour votre curiosité, vous pouvez trouver sur la documentation Python (en anglais) plus d’informations sur les possibilités avec ces types.

Vous pouvez la voir ici

Conversion

Il est possible de convertir un objet d’un type en un objet d’un autre type. C’est assez utile.

La fonction type() permet de connnaître le type d’un objet.

>>> type(1)
<class 'int'>
>>> type(3.14)
<class 'float'>
>>> type("Hello World  ! ")
<class 'str'>
 

La fonction int() permet de convertir un objet de type str (qui représente un nombre) ou un objet de type float en un objet de type entier.

La fonction float() permet de convertir un objet de type str (qui représente un nombre) ou un objet de type int en un objet de type float.

La fonction str() permet de convertir un objet de type float ou un objet de type entier en un objet de type str.

Les variables

Ce sont boites dans lesquels on stocke des données que l’on peut réutiliser à notre guise.

Le signe = permet de donner une valeur à la variable.  On parle d’assignation.

>>> a = 1

On crée la variable a dans laquelle on assigne la valeur de l’entier 1.

>>> b = "Iron Man is the best Avengers !"

On crée la variable b dans laquelle on assigne la valeur de la chaîne de caractères « Iron Man is the best Avenger ! « .

La fonction input()

La fonction input() est une fonction de la bibliothèque standard (Built-in Functions) qui permet de récupérer ce que tape une personne dans le terminal et de le stocker si besoin dans une variable dans un objet de type str. 

Exemple d’utilisation de la fonction input()

prenom = input("Bel bonjou, comment t'appelles-tu ? ")
print("Bonjour", prenom, "Je suis Jarvis")
message = "Quel âge as-tu" + prenom 
age = input(message)
print("Tu as ", age, "ans")
age = age + 1 
print("Dans un an tu auras", age, "ans")

Ce programme ne marchera pas car la variable age contient un objet de type str et on ne peut pas faire une addition entre un objet de type str et 1 qui est un objet de type int.

Il faut donc convertir notre objet str en objet int avec la méthode int().

Ce qui donne le programme suivant :

prenom = input("Bel bonjou, comment t'appelles-tu ? ")
print("Bonjour", prenom, "Je suis Jarvis")
message = "Quel âge as-tu" + prenom 
age = input(message)
print("Tu as ", age, "ans")
age = int(age) + 1 
print("Dans un an tu auras", age, "ans")

Les exercices

Pour chaque exercice, il vous faudra ouvrir un projet trinket et nommer ce projet par le nom de l’exercice.
Exemple pour l’exercice #Hacking I, le nom du projet sera Hacking I.
Pour chaque exercice, il vous faudra ouvrir un projet trinket et nommer ce projet par le nom de l’exercice.
Si vous êtes bloqué(e), ne pas hésitez à demander de l’aide au hackeur ou à la hackeuse à côté de vous.
Demandez moi en dernier 🙂 ! 

#Hacking I

Écrire un programme qui fait les actions suivantes :
 
– demande le prénom de l’utilisateur/utilisatrice
– demande le nom de l’utilisateur/utilisatrice
– répond en lui disant Bonjour et en l’appelant par son prénom et son nom accolé. (Exemple : Bonjour Peter Parker)

#Hacking II

Écrire un programme qui fait les actions suivantes :
 
– demande l’année de naissance de l’utilisateur/utilisatrice
– répond en lui disant son âge (Exemple : Vous avez xx ans)

#Hacking III

Écrire un programme qui fait les actions suivantes :
 
– demande l’année de naissance de l’utilisateur/utilisatrice
– répond en lui disant son âge (Exemple : Vous avez xx ans)
– puis en lui disant son âge en 2031 (Exemple : En 2031, vous aurez xx ans)
– puis en lui disant son âge en 2041 (Exemple : En 2041, vous aurez xx ans)
– puis en lui disant son âge en 2999 (Exemple  :En 2999, vous aurez xx ans)

#Hacking Raspberry Pi Project (Optionnel / à faire chez soi) 

Voir le projet ici

Mentions Légales

CGVU

06.17.75.36.61

christophe@leprofnomade.fr

© 2019 LeProfNomade