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
#Hacking I
#Hacking II
#Hacking III
#Hacking Raspberry Pi Project (Optionnel / à faire chez soi)
Voir le projet ici
Mentions Légales
CGVU
06.17.75.36.61
christophe@leprofnomade.fr
© 2020 LeProfNomade