Bienvenue sur python.gecif.net | LE SITE POUR APPRENDRE A PROGRAMMER EN PYTHON | ||||||||
|
||||||||
Application 1 : comptage du nombre de mots Écrire une fonction nombre_de_mots(chaine) qui attend en paramètre une chaîne de caractères et qui affiche en retour le nombre de mot contenu dans la phrase, c'est-à-dire le nombre de sous-chaînes séparées par un caractère "espace". Exemples de résultats attendus : >>> nombre_de_mots("Le soleil")
Application 2 : initiales des mots Écrire une fonction initiales(chaine) qui attend en paramètre une chaîne de caractères et qui affiche en retour les initiales des mots dans une liste, c'est-à-dire la première lettre de chacun des mots. Exemples de résultats attendus : >>> initiales("Le soleil")
Application 3 : recherche de palindromes Un palindrome est un texte dont la succession des lettres ou des chiffres est la même quand on le parcours de gauche à droite ou de droite à gauche. Un palindrome peut être un mot, comme « radar » ou « ressasser », ou un nombre comme « 45254 ». Voici quelques exemples de mots palindromes de la langue Française :
1 - écrire une fonction inverse_chaine(chaine) qui attend en paramètre une chaîne de caractères et qui renvoit en retour la chaîne inversée, c'est-à-dire avec les caractères dans l'ordre inverse. Exemples de résultats attendus : >>> inverse_chaine("bonjour") 2 - écrire une fonction inverse_nombre(nombre) qui attend en paramètre un nombre entier et qui renvoit en retour le nombre obtenu en inversant l'ordre des chiffres du nombre reçu. Exemples de résultats attendus : >>> inverse_nombre(1234) 3 - écrire une fonction palindrome_chaine(chaine) qui attend en paramètre une chaîne de caractères et qui affiche un message indiquant si cette chaîne est un palindrome ou pas. Exemples de résultats attendus : >>> palindrome_chaine("bonjour") 4 - écrire une fonction palindrome_nombre(nombre) qui attend en paramètre un nombre entier et qui affiche un message indiquant si ce nombre est un palindrome ou pas. Exemples de résultats attendus : >>> palindrome_nombre(22) Question : quel est le premier nombre palindrome après 2019 ?
On appelle phrase palindrome une phrase qui, si on lui enlève les espaces, s'écrit de la même manière qu'on la parcourt de gauche à droite ou de droite à gauche. Voici quelques exemples de phrases palindromes :
Pour détecter si une phrase est un palindrome il faut :
3 - écrire une fonction palindrome_phrase(chaine) qui attend en paramètre une phrase (mots séparés par des espaces) et qui affiche un message indiquant si cette phrase est un palindrome ou pas. Exemples de résultats attendus : >>> palindrome_phrase("Voici une phrase") Remarque : les phrases passées en paramètre à la fonction palindrome_phrase(chaine) doivent être composées exclusivement de lettres minuscules non accentuées et d'espaces et sans aucun caractères de ponctuation. Exemple : pour tester la phrase "À l'étape, épate-la !" on appellera la fonction palindrome_phrase("a l etape epate la")
Application 4 : l'algorithme 196 Commençons par présenter l'algorithme 196 : On prend un nombre entier naturel. À ce nombre on ajoute le nombre écrit à l'envers. On recommence la procédure avec la somme ainsi obtenue jusqu'à ce que le résultat soit un nombre palindrome. Ainsi, partant par exemple du nombre 79, on arrive au palindrome 44044 au bout de 6 itérations : 79 + 97 = 176 176 + 671 = 847 847 + 748 = 1595 1595 + 5951 = 7546 7546 + 6457 = 14 003 14 003 + 30 041 = 44 044 Comme 44 044 est un nombre palindrome on arrête les itérations.
1 - Écrire un programme en Python affichant les opérations de l'algorithme 196 (comme illustré ci-dessus) quelque soit le nombre de départ. Vous veillerez à structurer votre programme en différentes fonctions ayant chacune un rôle bien précis (inversion d'une chaîne de caractères ou d'un nombre, affichage de l'addition, détection d'un palindrome, calcul du nombre d'itérations pour un nombre de départ donné, etc.). 2 - Quel est le plus petit entier menant à un nombre palindrome au bout d'exactement 10 itérations ? 3 - Si le nombre de départ est 196, au bout de combien d'itérations obtient-on un palindrome ? 4 - En partant au départ d'un nombre entier compris entre 1 et 1 000 000 (un million) pour quel nombre de départ obtient-t-on un nombre palindrome avec le plus grand nombre d'itérations ? Combien d'itérations ? Ce nombre de départ est-il le seule entre 1 et 1 000 000 à poséder ce nombre d'itérations ? 5 - Toujours en utilisant les 1 000 000 premiers entiers naturels, combien conduisent à un palindrome avec l'algorithme 196 (nombre et pourcentage) et combien n'aboutissent jamais à un palindrome (nombre et pourcentage) ? 6 - A partir de combien d'itérations peut-on concluse que le nombre de départ n'aboutira pas à un palindrome ? Optimisez alors votre programme pour accélérer le résultat de la question précédente.
|
||||||||
|