Les fonctions

La fonction est la véritable unité de base d'un programme en python. Elle est semblable à ce que vous faites en mathématiques.
Si vous voulez définir la fonction f(x)=2x2+3x-2 pour ensuite calculer f(4), alors en python, cela ressemblera à :

In [1]:
def f(x):
    return 2*x**2+3*x-2
print(f(4)) # affiche la valeur de f(4)
42

en python, on définit une fonction en précédent son nom par def et en le terminant par des parenthèses dans lequelles on indique les variables utilisées et enfin :. Ensuite, tout ce qui dans la fonction doit être écrit en retrait par rapport à def, c'est une particularité de python. La fonction ne sera pas lancée par l'interpréteur si vous ne lui dites pas.

Exercice : Ecrire une fonction qui pour toute variable jean_michel retourne 5 x jean_michel2-3 x jean_michel+2

Une fonction n'accepte pas que des nombres, elle peut accepter n'importe quelle variable et même en accepter plusieurs.
Par exemple, on peut imaginer une fonction qui compte le nombre total de caractères de 2 chaînes de caractères séparés :

In [3]:
def compte_chaines(chaine_1,chaine_2): #on définit la fonction permettant de compter les caractères
    return len(chaine_1)+len(chaine_2) # elle ne fait que retourner le résultat
phrase_1="Dans la forêt lointaine" #on définit 2 phrases
phrase_2="On entend le coucou"
print("le nombre total de caractère est :",compte_chaines(phrase_1,phrase_2))  
# on insère directement la fonction dans print(), seul le résultat sera affiché 
le nombre total de caractère est : 42

Exercice : Ecrire une fonction qui pour tout couple de chaines de caractères retourne le premier caractère de la première chaîne et le second de la deuxième chaîne.

Les structures conditionnelles

Ces structures permettent de modifier le comportement d'une fonction en prenant en compte des paramètres sur une variable. Elles fonctionnent en "Si - sinon, si - sinon" :

In [1]:
age=input("Quel âge avez-vous ? ")
age=int(age) #la variable age est initialement de type "string" si je veux comparer l'age, 
#il faut expliquer au programme que age doit être un nombre, d'où le int(age)
if (age<13) :
    print('Désolé, tu ne peux pas t\'inscrire sur Facebook !')
elif (age<18) :
    print('Tu n\'es pas majeur.\nDemande l\'accord de tes parents pour t\'inscrire.') #Vous avez remarqué les \ ?
else :
    print('Accès au formulaire d\'inscription.')
Quel âge avez-vous ? 35
Accès au formulaire d'inscription.

Exercice : Sur le même modèle, écrire une fonction pour enregistrer un mot de passe. Si le mot de passe contient moins de 8 caractères, le rejeter. S'il en contient moins de 12, prévenir que le mot de passe est faible. S'il en contient davantage, dire que c'est bon.

Les boucles

On peut avoir besoin de répéter un certain nombre de fois une même action. On le fera avec une boucle for. Exemple : on veut compter de 10 à 15:

In [2]:
for nombre in range(10,16): #on va successivement donner à la variable nombre toutes les valeurs de [10;16[
    print(nombre)
10
11
12
13
14
15

Exercice : Afficher les nombres compris entre 1 et 100. Afficher tous les multiples de 7 entre 0 et 100.