Ici on ouvre le fichier et on lit le contenu puis on le divise grâce à l'encodage '###'
Ici on ouvre le fichier et on lit le contenu puis on le divise grâce à l'encodage '###'
``
```
#Parcourt chaque partie du texte
#Parcourt chaque partie du texte
for partie in parties_texte:
for partie in parties_texte:
lignes = partie.strip().splitlines() # Divise la partie en lignes
lignes = partie.strip().splitlines() # Divise la partie en lignes
...
@@ -214,7 +221,7 @@ for partie in parties_texte:
...
@@ -214,7 +221,7 @@ for partie in parties_texte:
#Pour afficher le nombre d'occurrences du mot dans chaque partie du texte:
#Pour afficher le nombre d'occurrences du mot dans chaque partie du texte:
#for i, occurrences in enumerate(compteurs_occurrences, start=1):
#for i, occurrences in enumerate(compteurs_occurrences, start=1):
#print(f"Le mot '{mot_a_chercher}' apparaît {occurrences} fois dans la partie {i} du texte.")
#print(f"Le mot '{mot_a_chercher}' apparaît {occurrences} fois dans la partie {i} du texte.")
``
```
On subdivise ensuite les parties pour obtenir des lignes distinctes, on initialise le nombre d'occurences à 0.
On subdivise ensuite les parties pour obtenir des lignes distinctes, on initialise le nombre d'occurences à 0.
Une boucle nous permet d'ajouter une unité aux nombre d'occurence si il compte 1 fois le mot que l'on cherche dans la ligne.
Une boucle nous permet d'ajouter une unité aux nombre d'occurence si il compte 1 fois le mot que l'on cherche dans la ligne.
On scanne ainsi le texte pour compter le nombres d'occurences, ensuites on ajoutes cela dans le tableau vide que l'on à initier précédement à l'aide de la fonction append.
On scanne ainsi le texte pour compter le nombres d'occurences, ensuites on ajoutes cela dans le tableau vide que l'on à initier précédement à l'aide de la fonction append.
...
@@ -227,7 +234,7 @@ C'est un peu long mais on a pas trouver d'autres moyens (ça peut être optimis
...
@@ -227,7 +234,7 @@ C'est un peu long mais on a pas trouver d'autres moyens (ça peut être optimis
``
```
personnages=["HARPAGON", "VALÈRE", "ÉLISE", "CLÉANTE", "LA FLÈCHE", "MARIANE", "ANSELME", "FROSINE", "MAÎTRE SIMON", "MAÎTRE JACQUES", "BRINDAVOINE", "LA MERLUCHE", "LE COMMISSAIRE"]
personnages=["HARPAGON", "VALÈRE", "ÉLISE", "CLÉANTE", "LA FLÈCHE", "MARIANE", "ANSELME", "FROSINE", "MAÎTRE SIMON", "MAÎTRE JACQUES", "BRINDAVOINE", "LA MERLUCHE", "LE COMMISSAIRE"]
@@ -273,17 +280,17 @@ Pour savoir comment marche la fonction qui trace les camenberts aller voir: [fon
...
@@ -273,17 +280,17 @@ Pour savoir comment marche la fonction qui trace les camenberts aller voir: [fon
``
```
%matplotlib notebook
%matplotlib notebook
fig, axs = plt.subplots(2, 4, figsize=(20,8))
fig, axs = plt.subplots(2, 4, figsize=(20,8))
plt.gcf().subplots_adjust(left = 0.2, bottom = 0.2, right = 0.9, top = 0.9, wspace = 1.1, hspace = 0)
plt.gcf().subplots_adjust(left = 0.2, bottom = 0.2, right = 0.9, top = 0.9, wspace = 1.1, hspace = 0)
``
```
Pour tracer les camenberts relatifs à toutes les parties du texte on utilise des boucle pour ce faciliter la tache, et on décide de regrouper ces camenbert par 8 (les 8 lignes en dessous de la boucles) dans une figure et donc d'avoir au total 4 (les 4 boucles) figures (car on a 32 parties), dans la boucle on associe un graphique camenbert à chacune des parties.
Pour tracer les camenberts relatifs à toutes les parties du texte on utilise des boucle pour ce faciliter la tache, et on décide de regrouper ces camenbert par 8 (les 8 lignes en dessous de la boucles) dans une figure et donc d'avoir au total 4 (les 4 boucles) figures (car on a 32 parties), dans la boucle on associe un graphique camenbert à chacune des parties.
Sur ces camenberts j'ai choisit d'afficher le pourcentages de paroles de chaque l'occuteur de la scène, cela ce fait avec les paramètre de la fonction .pie; labels=personnages donne les noms et autopct = lambda x: str(round(x, 2)) + '%' donne le pourcentage de parole.
Sur ces camenberts j'ai choisit d'afficher le pourcentages de paroles de chaque l'occuteur de la scène, cela ce fait avec les paramètre de la fonction .pie; labels=personnages donne les noms et autopct = lambda x: str(round(x, 2)) + '%' donne le pourcentage de parole.
On affiche sur la console nos figure en utilisant plt.show().
On affiche sur la console nos figure en utilisant plt.show().
## Cinquième Cellule
## Cinquième Cellule
...
@@ -388,7 +395,7 @@ On veut maintenant afficher les résultat brut du nombre d'ocurrence par personn
...
@@ -388,7 +395,7 @@ On veut maintenant afficher les résultat brut du nombre d'ocurrence par personn
La technique suivante n'est pas optimiser mais fonctionne, pour sélectionner le nombre de prise de parole d'un personnage en particulier on décommente (on enlève # devant le nom du perso) la ligne qui lui est associé. Dans l'exemple ci-dessous on va afficher les prises de parole de Valère.
La technique suivante n'est pas optimiser mais fonctionne, pour sélectionner le nombre de prise de parole d'un personnage en particulier on décommente (on enlève # devant le nom du perso) la ligne qui lui est associé. Dans l'exemple ci-dessous on va afficher les prises de parole de Valère.
``
```
#mot_a_chercher = "HARPAGON."
#mot_a_chercher = "HARPAGON."
mot_a_chercher = "VALÈRE."
mot_a_chercher = "VALÈRE."
#mot_a_chercher = "ÉLISE."
#mot_a_chercher = "ÉLISE."
...
@@ -403,12 +410,12 @@ mot_a_chercher = "VALÈRE."
...
@@ -403,12 +410,12 @@ mot_a_chercher = "VALÈRE."
#mot_a_chercher = "LA MERLUCHE."
#mot_a_chercher = "LA MERLUCHE."
#mot_a_chercher = "LE COMMISSAIRE."
#mot_a_chercher = "LE COMMISSAIRE."
``
```
On définit une fonction qui récupère le texte via l'url définit précédement et qui nous affiche si le texte a bien été récupéré en remplissant une variable 'response.text'.
On définit une fonction qui récupère le texte via l'url définit précédement et qui nous affiche si le texte a bien été récupéré en remplissant une variable 'response.text'.
``
```
#Fonction pour récupérer le contenu du fichier texte à partir d'une URL
#Fonction pour récupérer le contenu du fichier texte à partir d'une URL
def get_text_from_url(url):
def get_text_from_url(url):
response = requests.get(url)
response = requests.get(url)
...
@@ -417,20 +424,20 @@ def get_text_from_url(url):
...
@@ -417,20 +424,20 @@ def get_text_from_url(url):
else:
else:
return None
return None
``
```
Ensuite on récupere les données du texte par cette ligne.
Ensuite on récupere les données du texte par cette ligne.
``
```
#Récupère le contenu du fichier texte à partir de l'URL
#Récupère le contenu du fichier texte à partir de l'URL
text_content = get_text_from_url(url)
text_content = get_text_from_url(url)
``
```
Enfin on defini la fonction qui va nous afficher le nombres de prise de parole, on définit les ligne en utiliasnt .lower().splitlines() qui découpe le texte en ligne, puis on fais la somme de chaque occurences trouvée avec la fonction sum() (qui fait la somme des itérables), puis on affiche enfin le résultat par par la commande print() qui affiche sur la console ce qu'on lui demande. Dans notre cas ce sera "Le nom Valère apparait seul X fois dans l'oeuvre"
Enfin on defini la fonction qui va nous afficher le nombres de prise de parole, on définit les ligne en utiliasnt .lower().splitlines() qui découpe le texte en ligne, puis on fais la somme de chaque occurences trouvée avec la fonction sum() (qui fait la somme des itérables), puis on affiche enfin le résultat par par la commande print() qui affiche sur la console ce qu'on lui demande. Dans notre cas ce sera "Le nom Valère apparait seul X fois dans l'oeuvre"
``
```
#Vérifie combien de fois le mot apparaît seul sur une ligne dans le texte (en ignorant la casse)
#Vérifie combien de fois le mot apparaît seul sur une ligne dans le texte (en ignorant la casse)
if text_content:
if text_content:
...
@@ -440,7 +447,7 @@ if text_content:
...
@@ -440,7 +447,7 @@ if text_content:
else:
else:
print("Impossible de récupérer le contenu du fichier texte depuis l'URL.")
print("Impossible de récupérer le contenu du fichier texte depuis l'URL.")
``
```
## Sixiéme cellule
## Sixiéme cellule
...
@@ -456,7 +463,7 @@ Pour afficher cela j'utilise ensuite matplotlib.pyplot:
...
@@ -456,7 +463,7 @@ Pour afficher cela j'utilise ensuite matplotlib.pyplot: