Sous-routines (Python) : Procédures et fonctions - 2


Fonction de sous-programme

Une fonction est une sous-routine qui renvoie un résultat (nombre, chaîne de caractères, etc.).< /div>
Imaginez que vous ayez commandé un produit dans une boutique en ligne. Du point de vue de la programmation, vous avez appelé un sous-programme, et contrairement à une procédure, ce sous-programme doit renvoyer un résultat - livrer le produit que vous avez commandé. Ces sous-programmes sont appelés fonctions.
Une fonction est formatée exactement de la même manière qu'une procédure. La seule différence avec la procédure est la présence d'un opérateur spécial return, après lequel la valeur à retourner au programme principal est écrite.

Une fonction qui renvoie la moyenne arithmétique de deux entiers ressemblerait à ceci : def moyenne(a, b): moy = (a + b) / 2 retour moy Reste à comprendre comment appeler cette fonction dans le programme principal :
Il ne faut pas appeler une fonction de la même façon qu'une procédure : moyenne(10, 5)
La valeur retournée par la fonction sera perdue. C'est comme si les produits de la boutique en ligne n'étaient donnés à personne, mais jetés. Il est peu probable que le client l'aime.

Il est plus correct de sauvegarder le résultat dans une variable (ou de l'afficher à l'écran) : a = moyenne(10, 5) impression(moyenne(10, 5))
Ne pas oublier !
  1. Une sous-routine de fonction est formatée de la même manière qu'une procédure.
  2. La fonction est appelée à l'endroit du programme où vous placeriez la valeur. Par exemple, en tant que paramètre d'une instruction print() ou dans une expression arithmétique. 

Algorithme d'Euclide

Algorithme d'Euclide — BC efficace" title="Algorithme">Algorithme Pour trouver Plus grand commun diviseur  deux Entiers (ou général mesures  deux Lignes). L'algorithme porte le nom de Grec Maths Euclide (IIIe siècle avant J.-C. ), qui l'a décrit pour la première fois dans le style VII et X livres «Les débuts". C'est l'un des plus anciens algorithmes numériques utilisés aujourd'hui.

Rappelez-vous les calculs.

Le plus grand diviseur commun de deux nombres naturels (pgcd) est le plus grand nombre naturel par lequel ils sont divisibles.

Par exemple, les nombres 12 et 18 ont des diviseurs communs : 2, 3, 6. Le plus grand diviseur commun est 6. Cela s'écrit comme ceci : pgcd(12, 18) = 6< br />
En programmation, il existe plusieurs implémentations de l'algorithme d'Euclide. Voici une description de l'une d'elles sous forme de schéma bloc.


Essayez d'implémenter cet algorithme.

Fonctions logiques

Souvent, les programmeurs utilisent des fonctions booléennes qui renvoient des valeurs booléennes "true" ou "faux" (vraiou faux)
Ces fonctions sont utiles pour   vérifier certaines propriétés.
Considérons deux exemples d'écriture d'une fonction logique qui vérifie si un nombre est pair.
 
def isEven(n) : retour (n % 2 == 0)
def isEven(n) : si n % 2 == 0 : retourner vrai ; autre: renvoie Faux
Description Exemple de sous-programme
1) Meilleur moyen : le résultat de l'expression n % 2 == 0 sera vrai (True) ou faux (False)
2) Vous pouvez l'écrire comme ça, mais il vaut mieux ne pas faire un enregistrement plus long de toute façon

Et la dernière note sur le travail avec les fonctions et les procédures : le nombre de fonctions et de procédures dans le programme n'est pas limité. De plus, un sous-programme peut appeler un autre sous-programme et même lui-même.