Update JournaldeBohr.md

parent ffef6ec8
......@@ -91,22 +91,29 @@ Quelle est l'année avec l'épidémie la plus faible ?
# Etude de l'Avare de Molière
Ouvre l'URL et lit le contenu en tant que fichier texte
`with urllib.request.urlopen(url) as response:`
```
with urllib.request.urlopen(url) as response:
# Lit les données depuis l'URL
```
Parcourt chaque partie du texte
``for partie in parties_texte:
Parcourt chaque partie du texte
```
for partie in parties_texte:
lignes = partie.strip().splitlines() # Divise la partie en lignes
compteur_occurrences = 0 # Compteur d'occurrences pour cette partie``
compteur_occurrences = 0 # Compteur d'occurrences pour cette partie
```
et c'est la même chose pour les lignes
Pour récupérer le contenu d'un fichier texte via une URL on peut utiliser la fonction suivante:
``def get_text_from_url(url):
```
def get_text_from_url(url):
response = requests.get(url)
if response.status_code == 200:
return response.text
else:
return None ``
return None
```
# dernière mission: évaluation par les pairs
......@@ -129,7 +136,7 @@ Ensuite on attribu à l'url que l'on traite le nom plus simple url
Puis on lit en fichier txt, et on utilise io pour extraire les données du texte que l'on nomme donc texte.
``
```
%matplotlib inline
import numpy as np
......@@ -149,8 +156,8 @@ with urllib.request.urlopen(url) as response:
# Lit les données depuis l'URL
data = response.read()
texte = io.StringIO(data.decode('utf-8')).read() ``
texte = io.StringIO(data.decode('utf-8')).read()
```
## Deuxième cellule:
......@@ -159,7 +166,7 @@ Dans un premiers temps on definit tous les Noms que l'on va aller chercher dans
``
```
mot_a_chercher = "HARPAGON."
#mot_a_chercher = "VALÈRE."
#mot_a_chercher = "ÉLISE."
......@@ -173,30 +180,30 @@ mot_a_chercher = "HARPAGON."
#mot_a_chercher = "BRINDAVOINE."
#mot_a_chercher = "LA MERLUCHE."
#mot_a_chercher = "LE COMMISSAIRE."
``
```
``
```
#Compteur pour stocker le nombre d'occurrences du mot
compteurs_occurrences = []
``
```
On créer un compteur qui va nous permettre de stocker les différents nombres d'occurences.
``
```
#Ouvre l'URL et lit le contenu en tant que fichier texte
with urllib.request.urlopen(url) as response:
#Lit les données depuis l'URL et divise le texte en parties par les lignes commençant par '###'
parties_texte = response.read().decode('utf-8').split('###')[1:]
``
```
Ici on ouvre le fichier et on lit le contenu puis on le divise grâce à l'encodage '###'
``
```
#Parcourt chaque partie du texte
for partie in parties_texte:
lignes = partie.strip().splitlines() # Divise la partie en lignes
......@@ -214,7 +221,7 @@ for partie in parties_texte:
#Pour afficher le nombre d'occurrences du mot dans chaque partie du texte:
#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.")
``
```
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.
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
``
```
personnages=["HARPAGON", "VALÈRE", "ÉLISE", "CLÉANTE", "LA FLÈCHE", "MARIANE", "ANSELME", "FROSINE", "MAÎTRE SIMON", "MAÎTRE JACQUES", "BRINDAVOINE", "LA MERLUCHE", "LE COMMISSAIRE"]
partie1=[0,8,8,0,0,0,0,0,0,0,0,0,0]
partie2=[0,0,9,10,0,0,0,0,0,0,0,0,0]
......@@ -261,7 +268,7 @@ partie29=[30,30,0,0,0,0,0,0,0,0,0,0,0]
partie30=[4,1,1,0,0,0,0,1,0,0,0,0,0]
partie31=[11,14,0,0,0,3,14,0,0,0,0,0,0]
partie32=[10,0,0,4,0,1,6,0,0,0,0,0,2]
``
```
## Quatrième cellule
......@@ -273,17 +280,17 @@ Pour savoir comment marche la fonction qui trace les camenberts aller voir: [fon
``
```
%matplotlib notebook
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)
``
```
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.
``
```
for i in range(2):
for j in range(4):
axs[i, j].set_title(f'Scène {i * 4 + j + 1}')
......@@ -379,7 +386,7 @@ axs4[1, 3].pie(partie32, labels=personnages,
plt.show()
``
```
On affiche sur la console nos figure en utilisant plt.show().
## Cinquième Cellule
......@@ -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.
``
```
#mot_a_chercher = "HARPAGON."
mot_a_chercher = "VALÈRE."
#mot_a_chercher = "ÉLISE."
......@@ -403,12 +410,12 @@ mot_a_chercher = "VALÈRE."
#mot_a_chercher = "LA MERLUCHE."
#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'.
``
```
#Fonction pour récupérer le contenu du fichier texte à partir d'une URL
def get_text_from_url(url):
response = requests.get(url)
......@@ -417,20 +424,20 @@ def get_text_from_url(url):
else:
return None
``
```
Ensuite on récupere les données du texte par cette ligne.
``
```
#Récupère le contenu du fichier texte à partir de l'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"
``
```
#Vérifie combien de fois le mot apparaît seul sur une ligne dans le texte (en ignorant la casse)
if text_content:
......@@ -440,7 +447,7 @@ if text_content:
else:
print("Impossible de récupérer le contenu du fichier texte depuis l'URL.")
``
```
## Sixiéme cellule
......@@ -456,7 +463,7 @@ Pour afficher cela j'utilise ensuite matplotlib.pyplot:
``
```
HARPAGON=344
VALERE=99
ELISE=50
......@@ -483,7 +490,7 @@ plt.xticks(fontsize=5)
plt.plot(Noms,Donnees)
plt.show()
``
```
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment