Représentation des données (1) – compléments sur les listes et les « string »

Nouveau chapitre : Représentation des données

(Première heure)

I. Un problème … de base

a) calcul Shadok

On se … base … sur cette vidéo (ou plutôt une complète, là il manque la fin) :

Avec ce support :

b) Des conversions de et vers le Shadok ?

Le tableau de la première heure :

Exercices pour mercredi :

  • convertir 200, 1500 et 42 en Shadok (GA, BU, ZO, MEU …)
  • convertir BU GA ZO MEU et BU GA GA GA GA GA GA en décimal.

Reprise Python : Rechercher dans une liste, dans une chaîne de caractères

(Deuxième heure)

cm 2019-11-04 NSI reprise python - capture du shell - recherche dans liste ou mot

On commente ces lignes.

Que fait 'e' not in mot ? Le shell répond … True !

Application : statistiques dans un texte

Programmons une fonction qui prend en entrée une chaîne de caractères et affiche un tableau avec tous ses caractères et les effectifs liés.

Le tableau de la deuxième heure :

Compléter ce code à trous, mettez-vous en îlots, sur papier.

A travailler d’ici mercredi !

def lettres_differentes(mot):
    """
        attend une chaîne de caractères : mot
        renvoie une liste : les caractères différents de mot
    """
    liste = []
    ...
    ...
    ...
    return ...

def combien_de(l, mot):
    """
        attend un caractère : l
        une chaîne de caractères : mot
        renvoie un entier : le nombre de fois où apparaît l dans mot
    """
    effectif = ...
    ...
    ...
    ...
    return ...

def stats(mot):
    """
        une fonction qui prend en entrée une chaîne de caractères
        et affiche un tableau
        avec tous ses caractères et les effectifs liés.
    """

    # création liste des lettres
    lettres_diff = lettres_differentes(mot)

    # débuggage
    print("Débuggage 1 : lettres différentes\n", lettres_diff)

    # décompte des effectifs de chaque lettre
    effectifs=[]
    for l in lettres_diff:
        nbre = combien_de(l, mot)
        effectifs.append(nbre)

    # débuggage
    print("Débuggage 2 : différents effectifs\n", effectifs)

    # affichage
    print()
    print("Statistiques pour\n", mot)
    print()
    for i in range(...(...         )) :
        print(lettres_diff[i], ":", effectifs[i])

texte = "Lorem ipsum dolor sit amet, consectetur adipiscing elit."

stats(texte)
Débuggage 1 : lettres différentes
 ['L', 'o', 'r', 'e', 'm', ' ', 'i', 'p', 's', 'u', 'd', 'l', 't', 'a', ',', 'c', 'n', 'g', '.']
Débuggage 2 : différents effectifs
 [1, 4, 3, 5, 3, 7, 6, 2, 4, 2, 2, 2, 5, 2, 1, 3, 2, 1, 1]

Statistiques pour
 Lorem ipsum dolor sit amet, consectetur adipiscing elit.

L : 1
o : 4
r : 3
e : 5
m : 3
  : 7
i : 6
p : 2
s : 4
u : 2
d : 2
l : 2
t : 5
a : 2
, : 1
c : 3
n : 2
g : 1
. : 1
>>>

 

N'hésitez-pas à poser une question, ou faire avancer le schmilblick

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.