{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Analyse des dialogues dans l'Avare de Molière" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import os \n", "import urllib.request\n", "import linecache\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On récupère le texte de \"l'Avare de Molière\" sous format markdown. Pour éviter d'éventuels problèmes, on fait une copie locale du fichier.Il est dangereux de télécharger les données à chaque exécution, car il est possible que nous les remplacions par un fichier défectueux dans le cas d'une panne. Pour cette raison, nous téléchargeons le fichier uniquement si la copie locale n'existe pas." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "texte_url = \"http://dramacode.github.io/markdown/moliere_avare.txt\"\n", "texte_file = \"moliere_avare.txt\"\n", "if not os.path.exists(texte_file):\n", " urllib.request.urlretrieve(texte_url,texte_file)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On cherche à classez les personnages selon la quantité de parole. Pour se faire, nous allons réaliser une analyse syntaxique du texte. Celui-ci est représenté de la façon suivante:\n", "- les 40 premières lignes nous donne les informations liée à la piéce ainsi que le nom et rôle de chaque personnage.\n", "- les actes sont représentés sous forme de Titre 2 (##).\n", "- les scénes sont représentés sous forme de Titre 3 (###).\n", "- Pour chaque réplique, le nom du personnage est écrit en majuscule et sa réplique est écrite en dessous." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1\n" ] } ], "source": [ "scene=\"###\"\n", "nbscenevalere=0\n", "nbsceneelise=0\n", "nbscenecleante=0\n", "nbsceneharpagon=1\n", "nbscenefleche=0\n", "nbscenesimon=0\n", "nbscenefrosine=0\n", "nbscenejacques=0\n", "nbscenemerluche=0\n", "nbscenebrindavoine=0\n", "nbscenemariane=0\n", "nbscenecommissaire=0\n", "nbsceneanselme=0\n", "nbscenedame=0\n", "nbsceneclerc=0\n", "nbligne=0\n", "\n", "nbscenetotal={}\n", "\n", "with open(texte_file,'r') as file: \n", " for ligne in file:\n", " nbligne+=1\n", " if scene in ligne:\n", " nompersonnages = linecache.getline(texte_file, nbligne+1)\n", " \n", " if \"Valère\" in nompersonnages:\n", " nbscenevalere+=1\n", " nbscenetotal[\"Valère\"]=nbscenevalere\n", " if \"Élise\" in nompersonnages:\n", " nbsceneelise+=1\n", " nbscenetotal[\"Élise\"]=nbsceneelise\n", " if \"Cléante\" in nompersonnages:\n", " nbscenecleante+=1\n", " nbscenetotal[\"Cléante\"]=nbscenecleante\n", " if \"Harpagon\" in nompersonnages:\n", " nbsceneharpagon+=1\n", " nbscenetotal[\"Harpagon\"]=nbsceneharpagon\n", " if \"La Flèche\" in nompersonnages:\n", " nbscenefleche+=1\n", " nbscenetotal[\"La Flèche\"]=nbscenefleche\n", " if \"Maître Simon\" in nompersonnages:\n", " nbscenesimon+=1\n", " nbscenetotal[\"Maître Simon\"]=nbscenesimon\n", " if \"Frosine\" in nompersonnages:\n", " nbscenefrosine+=1\n", " nbscenetotal[\"Frosine\"]=nbscenefrosine\n", " if \"Maître Jacques\" in nompersonnages:\n", " nbscenejacques+=1\n", " nbscenetotal[\"Maître Jacques\"]=nbscenejacques\n", " if \"La Merluche\" in nompersonnages:\n", " nbscenemerluche+=1\n", " nbscenetotal[\"La Merluche\"]=nbscenemerluche\n", " if \"Brindavoine\" in nompersonnages:\n", " nbscenebrindavoine+=1\n", " nbscenetotal[\"Brindavoine\"]=nbscenebrindavoine\n", " if \"Mariane\" in nompersonnages:\n", " nbscenemariane+=1\n", " nbscenetotal[\"Mariane\"]=nbscenemariane\n", " if \"Commissaire\" in nompersonnages:\n", " nbscenecommissaire+=1\n", " nbscenetotal[\"Le Commissaire\"]=nbscenecommissaire\n", " if \"Anselme\" in nompersonnages:\n", " nbsceneanselme+=1\n", " nbscenetotal[\"Anselme\"]=nbsceneanselme\n", " if \"Dame Claude\" in nompersonnages:\n", " nbscenedame+=1\n", " nbscenetotal[\"Dame Claude\"]=nbscenedame\n", " if \"son Clerc\" in nompersonnages:\n", " nbsceneclerc+=1\n", " nbscenetotal[\"son Clerc\"]=nbsceneclerc\n", " \n", "print(nbscenesimon)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On commence par regarder le nombre de fois ou un personnage apparait dans la piece (en d'autre terme, on compte le nombre de scène ou il apparait).\n", "on sait que Harpagon fait un monologue donc on le fait commencer à 1 t non à zero. \n", "On met les résultats dans un dictionnaire pour faciliter leurs affichages." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Valère = 8\n", "Élise = 14\n", "Cléante = 15\n", "Harpagon = 23\n", "La Flèche = 6\n", "Maître Simon = 1\n", "Frosine = 15\n", "Maître Jacques = 9\n", "La Merluche = 2\n", "Brindavoine = 2\n", "Dame Claude = 1\n", "Mariane = 12\n", "Le Commissaire = 6\n", "son Clerc = 6\n", "Anselme = 2\n" ] } ], "source": [ " for cle, valeur in nbscenetotal.items():\n", " print(cle, \"=\", valeur)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On peut voir qu'Harpagon semble être le personnage qui parle dans le plus de scène.\n", "De même, Dame Claude et Maître Simon semble parler le moins.\n", "\n", "Cependant l'on regarde ici que le nombre de scène.Il est possible qu'un personnage ne soit que dans une scène mais parle plus qu'un autre. \n", "\n", "pour remédier à ce problème, nous allons approfondir un peu et regarder le nombre de réplique par personnage." ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "nbacte=0\n", "nbscene=0\n", "nbrepliquevalere=0\n", "nbrepliqueelise=0\n", "nbrepliquecleante=0\n", "nbrepliqueharpagon=0\n", "nbrepliquefleche=0\n", "nbrepliquesimon=0\n", "nbrepliquefrosine=0\n", "nbrepliquejacques=0\n", "nbrepliquemerluche=0\n", "nbrepliquebrindavoine=0\n", "nbrepliquemariane=0\n", "nbrepliquecommissaire=0\n", "nbrepliqueanselme=0\n", "nbrepliquedame=0\n", "nbrepliqueclerc=0\n", "\n", "nbrepliquetotal={}\n", " \n", "with open(texte_file,'r') as file: \n", " for ligne in file: \n", " if nbacte<2:\n", " if ligne[0]==\"#\" and ligne[1]==\"#\" and ligne[2]!=\"#\":\n", " nbacte+=1\n", " if nbscene<2:\n", " if scene in ligne:\n", " nbscene+=1\n", " if \"VALÈRE\" in ligne:\n", " nbrepliquevalere+=1\n", " nbrepliquetotal[\"Valère\"]=nbrepliquevalere\n", " if \"ÉLISE\" in ligne:\n", " nbrepliqueelise+=1\n", " nbrepliquetotal[\"Élise\"]=nbrepliqueelise\n", " if \"CLÉANTE\" in ligne:\n", " nbrepliquecleante+=1\n", " nbrepliquetotal[\"Cléante\"]=nbrepliquecleante\n", " if \"HARPAGON\" in ligne:\n", " nbrepliqueharpagon+=1\n", " nbrepliquetotal[\"Harpagon\"]=nbrepliqueharpagon\n", " if \"LA FLÈCHE\" in ligne:\n", " nbrepliquefleche+=1\n", " nbrepliquetotal[\"La Flèche\"]=nbrepliquefleche\n", " if \"MAÎTRE SIMON\" in ligne:\n", " nbrepliquesimon+=1\n", " nbrepliquetotal[\"Maître Simon\"]=nbrepliquesimon\n", " if \"FROSINE\" in ligne:\n", " nbrepliquefrosine+=1\n", " nbrepliquetotal[\"Frosine\"]=nbrepliquefrosine\n", " if \"MAÎTRE JACQUES\" in ligne:\n", " nbrepliquejacques+=1\n", " nbrepliquetotal[\"Maître Jacques\"]=nbrepliquejacques\n", " if \"LA MERLUCHE\" in ligne:\n", " nbrepliquemerluche+=1\n", " nbrepliquetotal[\"La Merluche\"]=nbrepliquemerluche\n", " if \"BRINDAVOINE\" in ligne:\n", " nbrepliquebrindavoine+=1\n", " nbrepliquetotal[\"Brindavoine\"]=nbrepliquebrindavoine\n", " if \"MARIANE\" in ligne:\n", " nbrepliquemariane+=1\n", " nbrepliquetotal[\"Mariane\"]=nbrepliquemariane\n", " if \"LE COMMISSAIRE\" in ligne:\n", " nbrepliquecommissaire+=1\n", " nbrepliquetotal[\"Le Commissaire\"]=nbrepliquecommissaire\n", " if \"ANSELME\" in ligne:\n", " nbrepliqueanselme+=1\n", " nbrepliquetotal[\"Anselme\"]=nbrepliqueanselme\n", " if \"DAME CLAUDE\" in ligne:\n", " nbrepliquedame+=1\n", " nbrepliquetotal[\"Dame Claude\"]=nbrepliquedame\n", " if \"SON CLERC\" in ligne:\n", " nbrepliqueclerc+=1\n", " nbrepliquetotal[\"son Clerc\"]=nbrepliqueclerc\n", " nbscene=1\n", " nbacte=1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On met encore une fois les résultats dans un dictionnaire pour faciliter leurs affichages." ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Valère = 101\n", "Élise = 51\n", "Cléante = 161\n", "Harpagon = 354\n", "La Flèche = 66\n", "Maître Simon = 5\n", "Frosine = 60\n", "Maître Jacques = 85\n", "La Merluche = 5\n", "Brindavoine = 3\n", "Mariane = 31\n", "Le Commissaire = 17\n", "Anselme = 20\n" ] } ], "source": [ " for cle, valeur in nbrepliquetotal.items():\n", " print(cle, \"=\", valeur)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On remarque qu'il manque deux personnages. Celà signifie qu'ils non pas de réplique.Par conséquent on est sur que son Clerc et Dame Claude ne parlent.\n", "\n", "On voit également qu'Harpagon est celui qui a le plus de réplique.\n", "Il semble être le personnage qui parle le plus.\n", "Pour en être sur on vas regarder le nombre de mot prononcés par personnages." ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "nbligne=0\n", "nbmotsvalere=0\n", "nbmotselise=0\n", "nbmotscleante=0\n", "nbmotsharpagon=0\n", "nbmotsfleche=0\n", "nbmotssimon=0\n", "nbmotsfrosine=0\n", "nbmotsjacques=0\n", "nbmotsmerluche=0\n", "nbmotsbrindavoine=0\n", "nbmotsmariane=0\n", "nbmotscommissaire=0\n", "nbmotsanselme=0\n", "nbmotsclaude=0\n", "nbmotsclerc=0\n", "\n", "nbmotstotal={}\n", "\n", "with open(texte_file,'r') as file:\n", " for ligne in file:\n", " nbligne+=1\n", " if \"VALÈRE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmotsvalere+=1\n", " nbmotstotal[\"Valère\"]=nbmotsvalere\n", " if \"ÉLISE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmotselise+=1\n", " nbmotstotal[\"Élise\"]=nbmotselise\n", " if \"CLÉANTE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmotscleante+=1\n", " nbmotstotal[\"Cléante\"]=nbmotscleante\n", " if \"HARPAGON\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmotsharpagon+=1\n", " nbmotstotal[\"Harpagon\"]=nbmotsharpagon\n", " if \"LA FLÈCHE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmotsfleche+=1\n", " nbmotstotal[\"La Flèche\"]=nbmotsfleche\n", " if \"MAÎTRE SIMON\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmotssimon+=1\n", " nbmotstotal[\"Maître Simon\"]=nbmotssimon\n", " if \"FROSINE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmotsfrosine+=1\n", " nbmotstotal[\"Frosine\"]=nbmotsfrosine\n", " if \"MAÎTRE JACQUES\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmotsjacques+=1\n", " nbmotstotal[\"Maître Jacques\"]=nbmotsjacques\n", " if \"LA MERLUCHE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmotsmerluche+=1\n", " nbmotstotal[\"La Merluche\"]=nbmotsmerluche\n", " if \"BRINDAVOINE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmotsbrindavoine+=1\n", " nbmotstotal[\"Brindavoine\"]=nbmotsbrindavoine\n", " if \"MARIANE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmotsmariane+=1\n", " nbmotstotal[\"Mariane\"]=nbmotsmariane\n", " if \"LE COMMISSAIRE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmotscommissaire+=1\n", " nbmotstotal[\"Le Commissaire\"]=nbmotscommissaire\n", " if \"ANSELME\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmotsanselme+=1\n", " nbmotstotal[\"Anselme\"]=nbmotsanselme\n", " if \"DAME CLAUDE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmotsclaude+=1\n", " nbmotstotal[\"Dame Claude\"]=nbmotsclaude\n", " if \"SON CLERC\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmotsclerc+=1\n", " nbmotstotal[\"son Clerc\"]=nbmotsclerc" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Valère = 2559\n", "Élise = 1023\n", "Cléante = 3177\n", "Harpagon = 5218\n", "La Flèche = 1436\n", "Maître Simon = 186\n", "Frosine = 2036\n", "Maître Jacques = 1414\n", "La Merluche = 49\n", "Brindavoine = 38\n", "Mariane = 878\n", "Le Commissaire = 281\n", "Anselme = 488\n" ] } ], "source": [ " for cle, valeur in nbmotstotal.items():\n", " print(cle, \"=\", valeur)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Harpagon est celui qui a le plus de mots à dire.\n", "\n", "Nous sommes donc sur qu'il est le personnage qui parle le plus dans la pièce." ] }, { "cell_type": "code", "execution_count": 92, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "5\n", "[[596, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 150, 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 396, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 147, 211, 1044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [621, 36, 0, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]\n", "[[0, 0, 350, 0, 853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 126, 159, 13, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 21, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 281, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 520, 0, 0, 1234, 0, 0, 0, 0, 0, 0, 0, 0]]\n", "[[247, 3, 74, 575, 0, 0, 0, 726, 22, 20, 0, 0, 0, 0, 0], [85, 0, 0, 0, 0, 0, 0, 173, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 18, 11, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 189, 0, 0, 0, 177, 0, 0, 0, 0], [0, 0, 0, 100, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0], [0, 16, 0, 68, 0, 0, 7, 0, 0, 0, 32, 0, 0, 0, 0], [5, 0, 551, 172, 0, 0, 40, 0, 0, 0, 221, 0, 0, 0, 0], [0, 0, 0, 20, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0], [6, 0, 38, 76, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0]]\n", "[[0, 55, 231, 0, 0, 0, 405, 0, 0, 0, 223, 0, 0, 0, 0], [0, 3, 12, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 397, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 162, 130, 0, 0, 0, 131, 0, 0, 0, 0, 0, 0, 0], [0, 0, 159, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 15, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]\n", "[[0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 104, 0, 0, 0], [0, 0, 0, 172, 0, 0, 0, 323, 0, 0, 0, 154, 0, 0, 0], [611, 0, 0, 434, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0], [20, 140, 0, 124, 0, 0, 4, 7, 0, 0, 0, 0, 0, 0, 0], [368, 0, 0, 245, 0, 0, 0, 7, 0, 0, 190, 0, 383, 0, 0], [0, 0, 126, 87, 0, 0, 0, 25, 0, 0, 35, 23, 105, 0, 0]]\n" ] } ], "source": [ "nbligne=0\n", "nbscene=0\n", "nbacte=0\n", "nbmots=0\n", "nbscenetotal=0\n", "listeacte=[]\n", "listescene=[]\n", "listenom=[\"VALÈRE\",\"ÉLISE\",\"CLÉANTE\",\"HARPAGON\",\"LA FLÈCHE\",\"MAÎTRE SIMON\",\"FROSINE\",\"MAÎTRE JACQUES\",\"LA MERLUCHE\",\"BRINDAVOINE\",\n", " \"MARIANE\",\"LE COMMISSAIRE\",\"ANSELME\",\"DAME CLAUDE\",\"SON CLERC\"]\n", "listemotspersonnages=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]\n", "with open(texte_file,'r') as file: \n", " for ligne in file:\n", " nbligne+=1\n", " if ligne[0]==\"#\" and ligne[1]==\"#\" and ligne[2]!=\"#\":\n", " nbacte+=1\n", " listeacte.append(0)\n", " listescene=[]\n", " nbscene=0\n", " if scene in ligne:\n", " nbscene+=1\n", " nbscenetotal+=1\n", " listescene.append(0)\n", " listemotspersonnages=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]\n", " if \"VALÈRE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmots+=1\n", " listemotspersonnages[0]=listemotspersonnages[0]+nbmots\n", " listescene[nbscene-1]=listemotspersonnages\n", " listeacte[nbacte-1]=listescene\n", " nbmots=0\n", " if \"ÉLISE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmots+=1\n", " listemotspersonnages[1]=listemotspersonnages[1]+nbmots\n", " listescene[nbscene-1]=listemotspersonnages\n", " listeacte[nbacte-1]=listescene\n", " nbmots=0\n", " if \"CLÉANTE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmots+=1\n", " listemotspersonnages[2]=listemotspersonnages[2]+nbmots\n", " listescene[nbscene-1]=listemotspersonnages\n", " listeacte[nbacte-1]=listescene\n", " nbmots=0\n", " if \"HARPAGON\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmots+=1\n", " listemotspersonnages[3]=listemotspersonnages[3]+nbmots\n", " listescene[nbscene-1]=listemotspersonnages\n", " listeacte[nbacte-1]=listescene\n", " nbmots=0\n", " if \"LA FLÈCHE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmots+=1\n", " listemotspersonnages[4]=listemotspersonnages[4]+nbmots\n", " listescene[nbscene-1]=listemotspersonnages\n", " listeacte[nbacte-1]=listescene\n", " nbmots=0\n", " if \"MAÎTRE SIMON\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmots+=1\n", " listemotspersonnages[5]=listemotspersonnages[5]+nbmots\n", " listescene[nbscene-1]=listemotspersonnages\n", " listeacte[nbacte-1]=listescene\n", " nbmots=0\n", " if \"FROSINE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmots+=1\n", " listemotspersonnages[6]=listemotspersonnages[6]+nbmots\n", " listescene[nbscene-1]=listemotspersonnages\n", " listeacte[nbacte-1]=listescene\n", " nbmots=0\n", " if \"MAÎTRE JACQUES\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmots+=1\n", " listemotspersonnages[7]=listemotspersonnages[7]+nbmots\n", " listescene[nbscene-1]=listemotspersonnages\n", " listeacte[nbacte-1]=listescene\n", " nbmots=0\n", " if \"LA MERLUCHE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmots+=1\n", " listemotspersonnages[8]=listemotspersonnages[8]+nbmots\n", " listescene[nbscene-1]=listemotspersonnages\n", " listeacte[nbacte-1]=listescene\n", " nbmots=0\n", " if \"BRINDAVOINE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmots+=1\n", " listemotspersonnages[9]=listemotspersonnages[9]+nbmots\n", " listescene[nbscene-1]=listemotspersonnages\n", " listeacte[nbacte-1]=listescene\n", " nbmots=0\n", " if \"MARIANE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmots+=1\n", " listemotspersonnages[10]=listemotspersonnages[10]+nbmots\n", " listescene[nbscene-1]=listemotspersonnages\n", " listeacte[nbacte-1]=listescene\n", " nbmots=0\n", " if \"LE COMMISSAIRE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmots+=1\n", " listemotspersonnages[11]=listemotspersonnages[11]+nbmots\n", " listescene[nbscene-1]=listemotspersonnages\n", " listeacte[nbacte-1]=listescene\n", " nbmots=0\n", " if \"ANSELME\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmots+=1\n", " listemotspersonnages[12]=listemotspersonnages[12]+nbmots\n", " listescene[nbscene-1]=listemotspersonnages\n", " listeacte[nbacte-1]=listescene\n", " nbmots=0\n", " if \"DAME CLAUDE\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmots+=1\n", " listemotspersonnages[13]=listemotspersonnages[13]+nbmots\n", " listescene[nbscene-1]=listemotspersonnages\n", " listeacte[nbacte-1]=listescene\n", " nbmots=0\n", " if \"SON CLERC\" in ligne:\n", " replique = linecache.getline(texte_file, nbligne+1)\n", " if replique!=\"\":\n", " for mot in replique.split():\n", " nbmots+=1\n", " listemotspersonnages[14]=listemotspersonnages[14]+nbmots\n", " listescene[nbscene-1]=listemotspersonnages\n", " listeacte[nbacte-1]=listescene\n", " nbmots=0\n", "\n", " \n", " \n", "print(len(listeacte))\n", "for i in range(len(listeacte)):\n", " print(listeacte[i])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def pourcentagemotsparsceneparpersonnage(acte,perso):\n", " liste=[]\n", " i=acte\n", " sommemotsscene=0\n", " for j in range(len(listeacte[i])):\n", " sommemotsscene=0\n", " for k in range(len(listeacte[i][j])):\n", " sommemotsscene=sommemotsscene+listeacte[i][j][k]\n", " \n", " pourcentage=listeacte[i][j][perso]/sommemotsscene*100\n", " liste.append(pourcentage)\n", " return liste\n", "\n", "def scenparacte(a):\n", " liste=[]\n", " nb=0\n", " for j in range(len(listeacte[a])):\n", " nb+=1\n", " liste.append(nb)\n", " \n", " return liste\n", "\n", "acte1=scenparacte(0)\n", "acte2=scenparacte(1)\n", "acte3=scenparacte(2)\n", "acte4=scenparacte(3)\n", "acte5=scenparacte(4)\n", "\n", "def affichepourcentagepersoneparacteparscene(perso):\n", " for i in range(len(listeacte)):\n", " plt.bar(scenparacte(i), pourcentagemotsparsceneparpersonnage(i,perso), color = ['yellow' for i in pourcentagemotsparsceneparpersonnage(i,perso)],\n", " edgecolor = ['blue' for i in pourcentagemotsparsceneparpersonnage(i,perso)], linestyle = 'solid', hatch ='/',\n", " linewidth = 3)\n", " plt.show()\n", "\n", " \n", "affichepourcentagepersoneparacteparscene(0)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 2 }