20 views
--- tags: python title: python défis --- <img src="https://tinyurl.com/QUELOGO" width="80" height="40" style="float: left;align=middle" align="top" ><center> <h1> Défis Python </h1></center> --- # Défi Python #1 La fonction Python suivante prend en paramètre une liste et renvoie la moyenne des valeurs contenues dans cette liste. <iframe src="https://www.codepuzzle.io/iframe/GFU6" width="100%" height="400" frameborder="0" ></iframe> --- # Défi Python #2 Saurez-vous remettre en ordre ce code Python ? Une légende de l’Inde ancienne raconte que le jeu d’échecs a été inventé par un vieux sage, que son roi voulut remercier en lui affirmant qu’il lui accorderait n’importe quel cadeau en récompense. Le vieux sage demanda qu’on lui fournisse simplement un peu de riz pour ses vieux jours, et plus précisément un nombre de grains de riz suffisant pour que l’on puisse en déposer 1 seul sur la première case du jeu qu’il venait d’inventer, deux sur la suivante, quatre sur la troisième, et ainsi de suite jusqu’à la 64ème case. La fonction Python suivante renvoie le nombre de grains à déposer sur la nème case du jeu. <iframe src="https://www.codepuzzle.io/iframe/3VFR" width="100%" height="370" frameborder="0"></iframe> --- # Défi Python #3 Saurez-vous remettre en ordre ce code Python ? La fonction Python suivante prend en paramètre une liste d’entiers et renvoie la plus petite valeur contenue dans la liste. <iframe src="https://www.codepuzzle.io/iframe/QDTY" width="100%" height="400" frameborder="0"></iframe> --- # Défi Python #4 Saurez-vous remettre en ordre ce code Python ? La fonction Python suivante prend en paramètre une liste composée de 0 et de 1 et renvoie la liste contenant les compléments à 1 des valeurs de la liste de départ. Par exemple, si la liste d’entrée est [0,1,0,0,1,1,1], la fonction renverra la liste [1,0,1,1,0,0,0]. <iframe src="https://www.codepuzzle.io/iframe/VG74" width="100%" height="470" frameborder="0"></iframe> --- # Défi Python #5 Saurez-vous remettre en ordre ce code Python ? La fonction Python suivante prend en paramètre une chaîne de caractères non vide et inverse les caractères de cette chaîne. Ainsi, si l’on appelle la fonction avec la chaîne ‘HELLO’, la chaîne ‘OLLEH’ sera renvoyée. <iframe src="https://www.codepuzzle.io/iframe/HSDE" width="100%" height="370" frameborder="0"></iframe> --- # Défi Python #6 Saurez-vous remettre en ordre ce code Python ? La fonction Python suivante prend en paramètre un tableau non vide d’entiers et un entier n, et renvoie l’indice de la dernière occurrence de l’élément cherché dans le tableau. Si l’élément n’est pas présent, la fonction renvoie la longueur du tableau. <iframe src="https://www.codepuzzle.io/iframe/3G2N" width="100%" height="400" frameborder="0"></iframe> --- # Défi Python #7 Saurez-vous remettre en ordre ce code Python ? La fonction Python suivante prend en paramètres deux nombres entiers n1 et n2 et renvoie le produit de ces deux nombres. Attention, les seules opérations autorisées sont l’addition et la soustraction. <iframe src="https://www.codepuzzle.io/iframe/D8ZF" width="100%" height="500" frameborder="0"></iframe> --- # Défi Python #8 Saurez-vous remettre en ordre ce code Python ? La fonction Python suivante prend en paramètre un tableau d’entiers, dont les éléments sont 0 ou 1 et représentant un entier écrit en binaire. Elle renvoie l’écriture décimale de cet entier. <iframe src="https://www.codepuzzle.io/iframe/QMYA" width="100%" height="380" frameborder="0"></iframe> --- # Défi Python #9 Saurez-vous remettre en ordre ce code Python ? La suite de Fibonacci est une suite de nombres entiers de 0, 1, 1, 2, 3, 5, 8 …. Les deux premiers termes sont 0 et 1. Tous les autres termes sont obtenus en ajoutant les deux termes précédents. La fonction Python suivante prend en paramètre un entier n et renvoie l’élément d’indice n de la suite de Fibonacci. <iframe src="https://www.codepuzzle.io/iframe/H4WL" width="100%" height="550" frameborder="0"></iframe> --- # Défi Python #10 Saurez-vous remettre en ordre ce code Python ? La fonction Python suivante prend en paramètre un caractère c et une chaîne de caractères mot, et renvoie le nombre de fois où le caractère c apparaît dans le mot. <iframe src="https://www.codepuzzle.io/iframe/2W45" width="100%" height="400" frameborder="0"></iframe> --- # Défi Python #π Saurez-vous remettre en ordre ce code Python ? La fonction Python suivante prend en paramètre un entier n et renvoie une approximation du nombre π, utilisant la formule : ![](https://minio.apps.education.fr/codimd-prod/uploads/upload_fc354d92948c75bd52b2f9f5d895253f.png) <iframe loading="lazy" src="https://www.codepuzzle.io/iframe/7LAX" width="100%" height="400" frameborder="0"></iframe> --- # Défi Python #11 Saurez-vous remettre en ordre ce code Python ? Les résultats aux évaluations d’un élève sont regroupés dans une liste composée de couples (note, coefficient). La fonction Python suivante prend en paramètre une liste eleve contenant les résultats aux évaluations d’un élève et renvoie la moyenne pondérée associée. Par exemple, l’expression moyenne([(15,2),(9,1),(12,3)]) devra renvoyer le résultat du calcul suivant : ![](https://minio.apps.education.fr/codimd-prod/uploads/upload_6a9f0032f5c627ec346ee7870921171c.png) <iframe loading="lazy" src="https://www.codepuzzle.io/iframe/ES97" width="100%" height="450" frameborder="0"></iframe> --- # Défi Python #12 Saurez-vous remettre en ordre ce code Python ? Le codage par différence (delta encoding en anglais) permet de compresser un tableau de données en indiquant pour chaque donnée, sa différence avec la précédente (plutôt que la donnée elle-même). On se retrouve alors avec un tableau de données assez petites nécessitant moins de place en mémoire. Cette méthode se révèle efficace lorsque les valeurs consécutives sont proches. La fonction Python suivante prend en paramètre un tableau non vide de nombres entiers et renvoie un tableau contenant les valeurs compressées à l’aide de cette technique. Ainsi, l’appel delta([1000, 800, 802, 1000, 1003)] renvoie le tableau [1000, – 200, 2, 198, 3]. <iframe src="https://www.codepuzzle.io/iframe/CRME" width="100%" height="400" frameborder="0"></iframe> --- # Défi Python #13 Saurez-vous remettre en ordre ce code Python ? La fonction Python suivante prend en paramètre un tableau de nombres non triés et renvoie la plus petite et la plus grande valeur du tableau sous la forme d’un dictionnaire à deux clés ‘min’ et ‘max’. <iframe src="https://www.codepuzzle.io/iframe/QGZV" width="100%" height="650" frameborder="0"></iframe> --- # Défi Python #14 Saurez-vous remettre en ordre ce code Python ? On souhaite chercher les occurrences des caractères dans une phrase, c’est-à-dire le nombre de fois où les caractères sont présents dans la phrase. Ces occurrences seront stockées dans un dictionnaire dont les clefs seront les caractères de la phrase et les valeurs l’occurrence de ces caractères. Par exemple : avec la phrase ‘Hello world !’ , le dictionnaire obtenu sera le suivant : {‘H’: 1,’e’: 1,’l’: 3,’o’: 2,’ ‘: 2,’w’: 1,’r’: 1,’d’: 1,’!’: 1}. La fonction Python suivante prend en paramètre une variable phrase de type str et renvoie un dictionnaire constitué des occurrences des caractères présents dans la phrase. <iframe src="https://www.codepuzzle.io/iframe/QJNF" width="100%" height="470" frameborder="0"></iframe> --- # Défi Python #15 Saurez-vous remettre en ordre ce code Python ? La suite de Syracuse est une suite d’entiers naturels définie de la manière suivante : on part d’un nombre entier strictement positif ; s’il est pair, on le divise par 2 ; s’il est impair, on le multiplie par 3 et on ajoute 1. En répétant l’opération, on obtient une suite d’entiers strictement positifs dont chacun ne dépend que de son prédécesseur. La fonction Python suivante prend un paramètre un entier n strictement positif et renvoie la liste des termes de la suite de Syracuse, en partant de n et jusqu’à obtenir la valeur 1, valeur que la suite finit toujours par atteindre. <iframe src="https://www.codepuzzle.io/iframe/ZGCU" width="100%" height="500" frameborder="0"></iframe> --- # Défi Python #16 L’opérateur « ou exclusif » entre deux bits renvoie 0 si les deux bits sont égaux et 1 s’ils sont différents : 0 ⊕ 0 = 0 , 0 ⊕ 1 = 1 , 1 ⊕ 0 = 1 , 1 ⊕ 1 = 0 On représente ici une suite de bits par un tableau contenant des 0 et des 1. La fonction Python suivante prend en paramètres deux tableaux de même longueur et renvoie un tableau où l’élément situé à position i est le résultat, par l’opérateur « ou exclusif », des éléments à la position i des tableaux passés en paramètres. Par exemple, avec les tableaux [1, 0, 1, 0] et [0, 1, 1, 0] donnés en paramètres, la fonction renverra le tableau [1, 1, 0, 0]. <iframe src="https://www.codepuzzle.io/iframe/2XSH" width="100%" height="480" frameborder="0"></iframe> [ref](https://www.lycee-en-foret.fr/defi-python/)