Python - analyse de données TD 1 : ------------------------------------------------------------------------------------ Exercice 1 : afficher les carrés des 10 premiers nombres en partant de 1 ------------------------------------------------------------------------------------Exercice 2 : afficher les carrés pairs des 10 premiers nombres en partant de 1 ------------------------------------------------------------------------------------ Exercice 3 : afficher les carrés pairs des 10 premiers nombres en partant de 1 avec le nombre en premiers: n= 2 carré= 4 (1 espace après =, 2 espaces entre 2 et carré) n= 4 carré= 8 etc. n= 10 carré= 100 ------------------------------------------------------------------------------------ Exercice 4 : faites la même chose sans espace après le = n=1 carré=1 n=2 carré=4 etc. n=10 carré=100 ------------------------------------------------------------------------------------ Exercice 5 : Comme le 3, en ajoutant le numéro du carré devant : 1 : n= 2 carré= 4 (1 espace après le : et le =, 2 espaces entre 2 et carré) 1 : n= 4 carré= 16 etc. ------------------------------------------------------------------------------------ Exercice 6 : Comme le 4, en ajoutant le numéro du carré devant : 1: n=2 carré=4 2: n=4 carré=16 etc. ------------------------------------------------------------------------------------ Exercice 7 : On veut obtenir le résultat formaté suivant : 1: n= 2 carré= 4 2: n= 4 carré= 16 ... 10: n=20 carré=400 pour ça, on va utiliser les f-string on écrit {n:2d} pour pouvoir afficher n sur 2 caractères en mettant l'unité à droite. On fait ça d'abord avec un nombre de carrés demandé qui vaut 10 au maximum. ------------------------------------------------------------------------------------ Exercice 8 : Pour finir, on fait en sorte que l'affichage soit toujours propre quel que soit le nombre de carré demandé. Pour ça, le 2 dans {n:2d} sera mis dans un variable on peut écrire : d1=2 {n:{d1}d} Pour avoir le nombre de caractères, il suffit de connaitre le nombre de caractères du plus grand n : dans l'exemple, c'est 20. Si cette valeur est dans n_max, il suffit d'écire : d1 = len(str(n_max)) # on transforme n_max en string et on récupère la longueur ------------------------------------------------------------------------------------ Exercice 9 : On va ajouter une ligne d'en-tête avec une ligne de ----- i: n carré ------------ 1: 2 4 2: 4 16 etc. 10: 20 400 Pour ça, on peut écrire {'i':>2s}: pour dire que le i sera sur 2 caractères, callé à droite et suivi d'un : Pour faire la ligne de ------, on peut écrire print(2*"-"+"--") pour les 2 premiers caractères du i (formaté sur 2 caractères) suivi de : et d'un espace, dont 2 -. Et ainsi de suite. ------------------------------------------------------------------------------------ Exercice 10 : Ecrire des fonctions qui font les exercices précédents à partir du 5. Testez-les comme proposé ci-dessous : exo5_affiche_carres(10) nb_carres=int(input("nb carrés (20 par exemple): ")) exo5_affiche_carres(nb_carres) exo6_affiche_carres(10) nb_carres=int(input("nb carrés (20 par exemple): ")) exo6_affiche_carres(nb_carres) exo7_affiche_carres(10) nb_carres=int(input("nb carrés (20 par exemple): ")) exo7_affiche_carres(nb_carres) exo8_affiche_carres(10) nb_carres=int(input("nb carrés (20 par exemple): ")) exo8_affiche_carres(nb_carres) exo9_affiche_carres(10) nb_carres=int(input("nb carrés (20 par exemple): ")) exo6_affiche_carres(nb_carres) ------------------------------------------------------------------------------------ Exercice 11 : Ecrire une fonction capitalize_texte qui met tous les mots d'un texte avec une majuscule en première lettre On fera plusieurs versions : 1 : avec title() uniquement 2 : avec split, avec join, avec capitalize, sans title 3 : avec split, avec capitalize, sans join, sans title 4 : avec capitalize, avec strip, avec find, sans split, sans join 5 : en pur axiomatique avec upper() def capitalize_texte(texte): pass # à écrire # tests print(capitalize_texte("Texte de test de la fonction capitalize_texte_2")) print(capitalize_texte(" Texte de test de la fonction capitalize_texte_2 ")) print(capitalize_texte("")) print(capitalize_texte("Texte")) print(capitalize_texte("texte")) print(capitalize_texte("texte ")) print(capitalize_texte(" texte ")) ------------------------------------------------------------------------------------ exercice 12 Ecrire une fonction double qui prend un texte en paramètre et retourne le texte en doublant tous les nombres entiers positifs du texte "33".isnumeric() vaut True "coucou".isumeric() vaut False def double(texte): pass print(double("coucou 33 et 4")) # Résultat : coucou 66 et 8