Langage Python
Fiche : Langage Python. Recherche parmi 300 000+ dissertationsPar tdyytd • 21 Février 2022 • Fiche • 1 482 Mots (6 Pages) • 320 Vues
NSI Ch 3 Python: Représentation des données les types construits : les tableaux PAGE : /
Partie A : Cours et TD
Dans un premier temps, nous avons travaillé avec les types de base(nombre entier ou flottant, caractères, booléens). Lorsqu'on a un grand nombre de données , Il est possible de travailler avec des éléments plus élaborés et notamment ce que l’on appelle des séquences .
Une séquence est un ensemble fini et ordonnée d’éléments. Nous allons aborder un premier type de séquence dans ce chapitre : Les tableaux . Ceci utilisé avec la syntaxe du langage python.
Problème : on suppose que l'on s 'intéresse à la répartition des hommes en France par age . On doit donc avoir une variable contenant le nombre d'hommes pour chaque age de 0 à 105 ans par exemple , et on veut écrire un programme donnant le nombre d'hommes ayant 20 ans , ou le nombre d'hommes ayant entre 10 et 14 ans, ...bref , les possibilités sont immenses. Pour cela , on peut utiliser un tableau qui stocke toutes ces informations d'un seul coup dans une variable . Vous avez ce tableau à disposition dans le fichier pyramide_ages.py
Démarrez le logiciel Python pour faire les tests requis et compléter cette fiche au fur et à mesure.
Notion de tableau (nommée liste en python)
https://www.lumni.fr/video/notion-de-listes-en-informatique-et-application-aux-images-numeriques | Présentation vidéo de la notion de liste en python Lumni .fr |
Dans ce paragraphe, nous allons voir un premier aperçu des tableaux .
Un tableau permet de stocker plusieurs valeurs dans une seule variable et d'y accéder ensuite facilement
En python , on construit un tableau en énumérant ses valeurs entre crochets et séparées par des virgules . Ex:tab=[2,3,8] . Ici , on a déclaré une variable de type tableau qui contient 3 entiers . Les valeurs contenues dans ce tableau sont ordonnées , et pour accéder à une valeur contenue dans ce tableau , il faut faire appel à un indice. Sachant que les éléments sont repérés à partir de l'indice 0 et NON de 1 , tab[0] contient la valeur 2 , tab[1]=3 et tab[2]=8.
- Attention , si on se trompe et que l'on essaie d'accéder à tab[3] qui n'existe pas, le logiciel vous renverra un message d'erreur du type '' list index out of range''
- Les tableaux sont mutables , c'est à dire que l'on peut modifier un élément
Quelques opérations sur un tableau
Placer-vous dans la console ,et créer votre premier tableau tab=[2,3,8]
Modification du contenu d'un tableau : | tab[1]=10 → on remplace la valeur 3 donc tab=[2,10,8] |
Longueur du tableau | len(tab) → 3 |
Ajouter un nombre à une valeur d'un tableau | tab[0]=tab[0]+1 → tab[0] contient 3 |
Accéder au dernier élément d'un tableau dont la longueur est non connue ou variable | tab[-1] → , |
Parcourt d'un tableau avec une boucle : expliquer ce que fait le script ci-contre , et la valeur affichée si tab=[2,3,8] Rq : le nom utilisé pour la variable de boucle est indifférent, on aurait pu l’appeler valeur au lieu de i pour être plus compréhensible | Ex : n=0 for i in range(len(tab) : n=n+tab[i] print(n) |
Autre façon de parcourir un tableau : on parcourt chaque élément du tableau et ici on l'affiche | for a in tab : print(a) |
On peut concaténer 2 tableaux , c'est à dire les ajouter bout à bout . Attention le + n'est pas une addition au sens où vous le connaissez , cela n'ajoute pas les valeurs de deux tableaux entre elles. | t2=[10,15,20] soit t=tab+t2 , t=[2,3,8,10,15,20] |
Ajouter un élément en fin de tableau : fonction append | tab.append(valeur) |
Exploitation du fichier pyramides_ages
Ouvrir le fichier pyramide_age.py et compléter le tableau suivant :
Quelle est la commande pour obtenir | Commande | Résultat obtenu |
Longueur du tableau ages_hommes ? | Len(ages_hommes) | 106 |
Comment obtenir le nombre d'hommes ayant 18 ans | ages_hommes[ 18 ] | 413251 |
Comment ajouter le fait qu'il y ait eu une naissance en 2019 ? | ages_hommes [0]=ages_hommes[0]+1 | 347090 |
Remettre la valeur modifiée pour revenir au tableau de départ | ||
Comment obtenir le nombre total d'hommes en France en 2019 |
Donner le rôle du script ci-dessus : [pic 1] | Le script va demander a l’utilisateur d’entrer 2 ages ; maximun et minimum qu’il souhaite, la variable n va nesuite prendre prendre la liste age, a la fin il va donner le nombre de personne qui ont entre l’age minimal choisit et l’age maximal choisit par l’utilisateur |
Que se passe-t-il si l'utilisateur choisit comme age maximum 110 ? | Le script va donner le nombre de personne n qui ont ont entre x et 110. on ne connaît pas ici la valeur de n car il manque len(ages_hommes) |
Expliquer pourquoi en modifiant le programme par la ligne suivante , on résout le problème précédent : for age in range(age_min,min(age_max,len(ages_hommes)) | On résout le problème car la variable n aura une valeur |
Proposer une modification qui permette de ne pas y avoir de génération d'erreur si l'utilisateur choisit un age minimum négatif | |
Ecrire un programme qui indique l'age pour lequel la population est la moins grande , et le nombre d'hommes pour cet age |
Construire de grands tableaux
Si on veut construire de très grands tableaux, par exemple à 1000 entrées , il est difficile de le faire en énumérant tous ses éléments .
t=[0]*1000 | Cette instruction construit un tableau de 1000 éléments initialisés à 0. Rq :* n'est pas un opérateur de multiplication dans ce cas de figure , mais un opérateur spécifique aux tableaux |
for i in range(1000) : t[i]=i*i | On peut maintenant affecter les valeurs que l'on veut dans le tableau : ici : l................................................................................. |
Tableaux et chaînes de caractères
Une chaîne de caractères présente une certaine ressemblance avec un tableau .
Par exemple , si l'on considère la variable nom=''vermeersch'' ,
on accède à un caractère de la même façon que que un tableau : nom[0) → vermeersch
...