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


Problem

5/8

Fonctions logiques. Nombres parfaits

Theory Click to read/hide

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.
 

Problem

Un nombre parfait est un nombre égal à la somme de tous ses diviseurs inférieurs à lui-même (par exemple, le nombre 6 = 1 + 2 + 3). Écrivez un programme qui saisit un nombre naturel N et détermine si le nombreN est parfait. Utilisez  une fonction pour trouver la somme des diviseurs d'un nombre et une fonction logique pour vérifier si le nombre est parfait ou non.
 

Entrée
La chaîne d'entrée contient un nombre naturel .

Mentions légales
Si le nombre – parfait, le programme doit afficher le mot "OUI", sinon – le mot "NON".

 

Exemples
# Entrée Sortie
1 28 OUI
2 29 NON