| Bienvenue sur python.gecif.net | LE SITE POUR APPRENDRE A PROGRAMMER EN PYTHON | ||||||||
|
||||||||
En utilisant les manipulations des listes vue sur la page découverte, réaliser les applications suivantes.
Application 1 : génération de listes Proposez un programme qui génère et qui affiche 3 listes :
Voici les 3 listes que votre programme doit afficher : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50] [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50] [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49]
Application 2 : tri des nombres pairs et impairs On part d'une liste de nombres entiers quelconques. Par exemple liste=[12, 3, 8, 11, 19, 22, 7, 4, 20, 3, 16] Proposez un programme qui crée 2 listes à partir de cette liste : une liste des nombres pairs et une liste des nombres impairs. Exemple : Si la liste de départ est liste=[12, 3, 8, 11, 19, 22, 7, 4, 20, 3, 16] alors votre programme doit afficher : liste des nombres pairs : [12, 8, 22, 4, 20, 16] listes des nombres impairs : [3, 11, 19, 7, 3] Remarque : Pour obtenir rapidement la liste de départ on pourra s'inspirer du programme suivant qui crée une liste de 20 nombre quelconques compris entre 1 et 30 : from random import *
Application 3 : inversion d'une liste On part d'une liste d'entiers quelconques. Exemple : liste=[20, 12, 26, 1] Proposez un programme qui crée et qui affiche une nouvelle liste contenant tous les nombres de la liste de départ mais dans l'ordre inverse. Exemple : Si la liste de départ est liste=[20, 12, 26, 1] alors votre programme doit afficher [1, 26, 12, 20] Autre exemple : Si la liste de départ est liste=[26, 16, 22, 28, 27, 12, 10, 8, 30, 13, 20, 23, 2, 3, 17, 7] alors votre programme doit afficher [7, 17, 3, 2, 23, 20, 13, 30, 8, 10, 12, 27, 28, 22, 16, 26]
Application 4 : tri d'une liste dans l'ordre croissant On part d'une liste d'entiers quelconques. Exemple : liste=[5, 10, 27, 9, 30, 23, 26, 29, 25] Proposez un programme qui crée et qui affiche une nouvelle liste contenant tous les nombres de la liste de départ mais rangés dans l'ordre croissant. Exemple : Si la liste de départ est liste=[5, 10, 27, 9, 30, 23, 26, 29, 25] alors votre programme doit afficher [5, 9, 10, 23, 25, 26, 27, 29, 30] Autre exemple : Si la liste de départ est liste=[16, 14, 27, 1, 22, 4, 19, 12, 24, 26, 7, 3, 5] alors votre programme doit afficher [1, 3, 4, 5, 7, 12, 14, 16, 19, 22, 24, 26, 27]
Application 5 : détection des doublons On part d'une liste d'entiers quelconques pouvant contenir des doublons, c'est-à-dire plusieurs fois le même nombre. Exemple : liste=[28, 30, 5, 5, 27, 16] Proposez un programme qui détecte si la liste contient ou pas des doublons. Exemple : Si la liste de départ est liste=[28, 30, 5, 5, 27, 16] alors votre programme doit afficher Cette liste contient des doublons Autre exemple : Si la liste de départ est liste=[21, 10, 23, 26, 18, 16] alors votre programme doit afficher Cette liste NE CONTIENT PAS de doublons
Application 6 : la dernière carte On dispose d'un paquet de 2018 cartes numérotées de 1 à 2018, faces visibles et rangées dans l'ordre croissant. On prend la carte de dessus (numérotée 1) et on la place sous le paquet, on écarte la carte suivante (la carte numéro 2), on met la suivante (la carte numéro 3) sous le paquet, on écarte la suivante (la carte numéro 4), et ainsi de suite jusqu'à ce qu'il ne reste plus qu'une seule carte dans le paquet. Problème à résoudre : quel numéro porte cette dernière carte ?
Pour programmer ce problème en Pyhton on va partir d'une liste numérique cartes contenant les nombres de 1 à 2018 et représentant le paquet de carte ordonné au départ :
Ainsi, cartes[0] représente la carte de dessus, et cartes[1:] représente tout le reste du paquet. Pour rédoudre le problème il faut faire un programme manipulant la liste cartes afin d'effectuer toutes les opérations décrites dans l'énoncé. Mais avant de demander à Python le résultat pour 2018 cartes, nous allons tester à la main un paquet de 10 cartes. Pour celà, répondez aux questions suivantes en rédigeant vos réponses en commentaire dans votre programme Python. Questions : 1 - Si au départ on avait 10 cartes à la place de 2018 cartes, quelle aurait été le numéro de la dernière carte (à tester à la main avec 10 papiers numérotés de 1 à 10 ou dans la console de Python en manipulant pas à pas une liste à 10 éléments) ? 2 - Si au départ on avait 12 cartes, quelle aurait été le numéro de la dernière carte (à tester à la main avec 12 papiers numérotés de 1 à 12 ou dans la console de Python en manipulant pas à pas une liste à 12 éléments) ? Réalisez maintenant un programme en Python, vérifiez qu'il vous donne les résultats trouvés aux questions 1 (pour 10 cartes) et question 2 (pour 12 cartes), puis utilisez votre programme pour répondre aux questions suivantes : 3 - Quelle est la parité (numéro pair ou numéro impair) la dernière carte : toujours paire, toujours impaire, ou ça dépend du nombre de cartes dans le paquet de départ ? 4 - Si au départ on avait 2018 cartes, quelle aurait été le numéro de la dernière carte ? 5 - Si au départ on avait 2019 cartes à la place de 2018 cartes, quelle aurait été le numéro de la dernière carte ? 6 - Si au départ le nombre de cartes correspondait à l'année courante (à la place de 2018 cartes), quelle aurait été le numéro de la dernière carte ? 7 - Combien de cartes faut-il dans le paquet de départ pour que la dernière carte porte le numéro 1 ? 8 - Existe-t-il d'après vous un lien entre le nombre de cartes au départ et le numéro de la dernière carte ? Si oui lequel ?
Application 7 : tri d'une liste de phrases Voici une liste contenant un grand nombre de phrases enregistrées dans la variable liste_phrases : liste_phrases=["Ils ne savaient pas que c'était impossible à faire alors ils l'ont fait.", Téléchargez le fichier de base app7_tri_phrases.pyw ci-dessous dans votre espace de travail, ouvrez le programme dans EduPython puis faites-le évoluer afin d'afficher petit à petit les informations demandé : Important : vous afficherez pour chaque question son numéro en début de ligne ainsi qu'un message clair et simple rappelant la question. Par exemple pour la question 1 qui demande la longueur de la liste la ligne de code en Python poureait être par exemple la suivante :
1 - Afficher le nombre de phrases contenues dans la liste liste_phrase. 2 - Afficher la phrase la plus longue ainsi que son nombre de caractères. 3 - Afficher la phrase la plus courte ainsi que son nombre de caractères. 4 - Afficher la phrase qui contient le plus grand nombre de caractères de ponctuation. 5 - Afficher la phrase qui contient le moins de caractères de ponctuation. 6 - Afficher la phrase qui contient le plus grand nombre de mots. 7 - Afficher la phrase qui contient le plus petit nombre de mots. 8 - Afficher la phrase qui contient le plus grand nombre d'espaces. 9 - Afficher la phrase qui contient le plus petit nombre d'espaces. 10 - Afficher les phrases contenant moins de 60 caractères en tout. 11 - Afficher les phrases contenant 70 caractères ou plus. 12 - Afficher la phrase qui contient le plus grand nombre de voyelles (en majuscule ou en minuscule). 13 - Afficher la phrase qui contient le plus grand nombre de consonnes (en majuscule ou en minuscule). 14 - Afficher la phrase qui contient le plus grand nombre de lettres majuscules. 15 - Afficher toutes les phrases contenant le mot "est". 16 - Demander à l'utilisateur de saisir un mot particulier (par exemple "puits") et afficher toutes les phrases contenant ce mot. 17 - Afficher toutes les phrases qui contiennent des mots en doublon (deux fois ou plus le même mot dans la même phrase). 18 - Afficher toutes les phrases dans l'ordre alphabétique. 19 - Quel mot est présent le plus grand nombre de fois dans l'ensemble des phrases ? 20 - Combien de mots différents sont présents dans l'ensemble des phrases ? 21 - Quelle lettre (en majuscule ou en minuscule) est présente le plus grand nombre de fois dans l'ensemble des phrases ? 22 - Quelle lettre (en majuscule ou en minuscule) est le moins utilisées dans l'ensemble des phrases ? 23 - Parmi les lettres majuscules quel est le nombre d'utilisation de chacune des 26 lettres de l'alphabet dans l'ensemble des phrases ? 24 - Parmi les lettres minuscules quel est le nombre d'utilisation de chacune des 26 lettres de l'alphabet dans l'ensemble des phrases ? 25 - Combien de lettres accentuées (en majuscule ou en minuscule) y a-t-il dans l'ensemble des phrases ? 26 - Combien de lettres non accentuées (en majuscule ou en minuscule) y a-t-il dans l'ensemble des phrases ? 27 - Combien de caractères de ponctiation y a-t-il dans l'ensemble des phrases ? Afficher la liste de ces caractères de ponctuation. 28 - Quel est le mot le plus long utilisé dans cette liste de phrases ? 29 - Afficher seulement les phrases contenant les 26 lettres (en majuscule ou en minuscule) de l'alphabet. 30 - Afficher seulement les phrases dont la première lettre est une voyelle. 31 - Afficher seulement les phrases dont la première lettre est une consonne. 32 - Afficher seulement les phrases dont la dernière lettre est une voyelle. 33 - Afficher seulement les phrases dont la dernière lettre est une consonne. 34 - Afficher seulement les phrases qui contiennent deux lettres identiques consécutives. 35 - Afficher seulement les phrases qui contiennent des caractères accentuées (en majuscule ou en minuscule).
|
||||||||
| |
||||||||