Les fonctions prédéfinies en Python, les indispensables

Les fonctions prédéfinies en Python 

Les fonctions input et print sont des fonctions prédéfinies en Python. On trouve plusieurs
autres fonctions.
D'autre fonctions peuvent être appelé dans le code, mais qui nécessite d'importer une
bibliothèque, comme la fonction sqrt du module math.
Python est livré avec un ensemble de fonctions intégrées pour effectuer les tâches les plus élémentaires :

Les fonctions sur les types numériques

La fonction arrondiround en Python : elle retourne l'entier le plus proche d'un nombre donné.
Par exemple : 
round(5.1) donne 5
round(5.5) donne 6
round(5.7) donne 6
la fonction racine-carrée, qui devient sqrt en Python : cette fonction retourne la racine-carrée d'un nombre donnée. Le résultat de la racine est toujours de type réel. 
Notez bien, pour pouvoir utiliser la fonction sqrt en Python, vous devez l'importer de la fonction math : 
from math import sqrt, ou from math import *. Import * signifie importer toutes les fonctions de la bibliothèque math.
Exemple : 
sqrt(2) retourne 1.4142135623730951
sqrt(4) donne 2.0
sqrt(-1) génère une erreur : ValueError: math domain error
La fonction aléarandint en Python retourne une valeur entière aléatoire. La syntaxe en Python est : 
randint(borne_inferieur, borne_superieure). l'importation from random import randint est indispensable. Exemple : 
randint(1, 6) peut donner 2
randint(1, 6) peut donner 5
randint(1, 6) peut donner 4
randint(10, 100) peut donner 70
La fonction enttrunc en Python retourne la partie entière d'un nombre donné. Cette fonction exige l'importation de la bibliothèque math. Cette fonction donne le même résultat que la fonction int en Python.
Exemple
trunc(63.32) = int(63.32) =  63
trunc(80.87) = int(80.87) =  80
trunc(87.20) = int(87.20) =  87
trunc(64.37) = int(64.37) =  64
La fonction qui permet de donner la valeur absolue d'un nombre en algorithme et en Python est abs
Exemple
abs(4) donne 4
abs(-10) donne 10
abs(-2.5) donne 2.5



Les fonctions sur les caractères

Un caractère peut être une lettre ("P", "y", 't', 'h'), un chiffre ("1", "5", '4') ou un symbôle (un caractère spécial : "@", "#", ".",). Les caractères sont ordonnées selon leurs codes ASCII. Un caractère doit être limité par deux simples quotes ', ou des double quotes " ; "a" est égale à 'a'. Il faut savoir que le langage de programmation Python n'a pas de type spécéfique pour les caractères, il utilise le type chaine (str). Python considère un caractère comme étant une chaine composé d'un seul caractère.
Les fonctions que je peux appliquer sur les caractères sont : 
L'ordre d'un caractère dans la table ASCII, noté en algorithme et en Python ord.
Par exemple : 
ord("a") donne 97
ord("b") donne 98
ord('A') donne 65
La fonction chr, retourne le caractère dont le code ASCII est passé comme paramètre.
Exemple : 
chr(65) vaut "A"
chr(98) vaut "b"



Les fonctions sur les chaines 

Une chaines de caractères contient zéro ou plusieurs caractères. Une chaine avec zéro caractères est appelée la chaine vide. Elle a une longeur nulle, est contient la chaine "".
Parmis les fonctions que je peux appliquer sur les chaines en python : 
  • long(ch) en algorithme, len(ch) en Python
Le rôle de la fonction len est de calculer le nombre de caractères dans la chaine ch.
len("python") donne 6.
len("a b.") donne 4.
  • pos(ch1, ch2) en algorithme, ch2.find(ch1) en Python
La fonction pos retourne la première position de la chaîne ch1 dans la chaîne ch2. 
Si la chaine n'est pas trouvée alors la fonction pos retourne -1.
Il ne faut pas oublier que Python commence à compter les caractères à partir de 0 ; en Python le premier caractère est numéro zéro.
"bonjour".find("jour") donne 3.
"bonbon".find("bon") donne 0.
"python.pm".find("www") donne -1.
  • convch(n) en algorithme, str(n) en Python
La fonction str transforme une valeur numérique en une chaine.
str(22) donne "22".
str(1.50) donne "1.5"
  • valeur(ch) en algorithme, int(ch) ou float(ch) en Python
Ces deux fonctions permettent de convertir une chaine en une valeur numérique, si c'est passible.
int('2030') donne 2030
float("1.550") donne 1.55
int("Python") génère une erreur : invalid literal for int()
  • estnum(ch) en algorithme, ch.isdigit() ou ch.isdecimal() en Python
Cette fonction vérifie si une chaine est numérique : composée uniquement de chiffres. isdigit retourne Vrai (True) si la chaine est numérique, Faux (True) dans le cas contraire. 
La fonction isdigit est très utile. Transformer une chaine en une valeur numérique peut générer une erreur, donc il faut tester que tous les caractères sont numérique avant utiliser la fonction int().
"20".isdigit() retourne True
"30".isdecimal() retourne True
"22,33".isdigit() retourne False
"Python".isdigit() retourne False
"20.30".isdigit() retourne False
  • majus(ch) en algorithme, ch.upper() en Python
upper permet de convertir une chaine en majuscule.
"Python".upper() donne 'PYTHON'
'ABC 123 xyz'.upper() donne 'ABC 123 XYZ'
On trouve d'autres traitements usuels sur les chaines : 
  • sous_chaine(ch, d, f) en algorithme, ch[d:f] en Python
Ce traitement retourne une partie de la chaîne ch en commançant de la position de début d jusqu’à la
position finale f, sans prnedre en considérartion le caractère f.
  • effacer(ch, d, f) en algorithme, ch[:d] + ch[f:] en Python
    Ce traitement est utilisé pour supprimer des caractères à partir de la position de début d jusqu’à la positionf (f exclue) de la chaîne ch.

Exercice: Ecrire un peogramme en Python qui permet de saisir la date de naissance d'une personne puis calculer et afficher son age.
L'idée est de saisir la date de naissance sous forme d'une chaine de caractères puis extraire les caractères qui représente l'année, les quatre derniers caractères. Puis transformer ces quatre derniers caractères en valeur numériques. L'age sera calculé avec la formule : année actuelle - année de naissance.
Exemple d'exécution :
>>> %Run age.py
donner votre date de naissance au format jj/mm/aaa
01/01/2000
vous avez 22 ans

Correction de l'exrcice : calcul de l'age avec la date de naissance donnée en Python

import datetime
cetteAnnee = int(datetime.datetime.now().date().strftime("%Y"))
#les deux premières lignes peuvent être remplacée par cetteAnnee = 2022
date = input("donner votre date de naissance au format jj/mm/aaa\n")
annee = date[6:]
annee = int(annee)
age = cetteAnnee - annee
print("vous avez", age, "ans")



Posts les plus consultés de ce blog

Exercices corrigés en Python pour les débutants: entrées, calcul, sorties

Programmer avec Python