Etape 1 - saisie du programme
L'étude s'appuie sur un groupe de 6 pages web nommées A à F . Chacune de ces pages comportent des liens hypertextes et l'ensemble forme une toile.
Cette toile est décrite sur le schéma ci-contre. Les hyperliens sont décrits par les flèches et permettent de naviguer d'une page à l'autre. Par exemple, la page A possède des liens vers la page B, la page D et la page C. L'objectif est de déterminer quelle est la page la plus populaire de cette toile.
Lors de la consultation des pages, les internautes arrivent par hasard sur l'une des 6 pages. Ils suivent alors de manière aléatoire les liens proposés par chaque page. Dans 80 % des cas, le sujet les intéresse et ils poursuivent leur navigation en cliquant sur un hyperlien de la page. Le niveau de consultation des pages est quantifié dans le compteur de vue de chaque page.
La question qui se pose est : après le passage de 1 000 internautes, quelle sera la page la plus populaire ?
Dans la fenêtre de code Edupython, copier-coller le code python ci-dessous sans les numéros de ligne que vous éliminerez en cliquant sur la première icône de la fenêtre.
import random
PageWeb = ["A","B","C","D","E","F"]
Hypertexte = {}
# La page Web "A" contient 3 hypertextes qui pointent vers les pages "B","C" et "D" d'ou la ligne de code ci-dessous
Hypertexte["A"] = ["B","C","D"]
Hypertexte["B"] = [ ]
Hypertexte["C"] = [ ]
Hypertexte["D"] = [ ]
Hypertexte["E"] = [ ]
Hypertexte["F"] = [ ]
Compléter les lignes pour les hypertexte présents sur les autres pages en vous appuyant sue l'exemple donné pour la page A dans le code.
Sur le DR, choisir et recopier 2 des lignes écrites.
Copier et saisir la suite du programme ci-dessous.
Nb_clic = {}
Total_clic = 0
# Nombre de clics sur la page A
Nb_clic["A"] = 0
Nb_clic["B"] = 0
Nb_clic["C"] = 0
Nb_clic["D"] = 0
Nb_clic["E"] = 0
Nb_clic["F"] = 0
# boucle des 1000 internautes
for i in range(1, 1000):
x = random.choice(PageWeb)
while random.randint(1, 100) < 80:
Nb_clic[x] = Nb_clic[x] + 1
x = random.choice(Hypertexte[x])
Total_clic = Total_clic + 1
# affichage du résultat
for x in (PageWeb): # x prend les valeurs successives de la liste PageWeb (de A à F)
print(" De ",x," : ", Nb_clic[x], "clics")
Enregistrer votre programme dans votre dossier de travail.