Etape 1 : Saisir le programme

Avant de commencer

Tout d'abord, vous devez créer un dossier[1] sur le bureau de votre ordinateur que vous nommerez ainsi :

NOM Prénom TP Calculer la popularité d'une page Web

C'est dans ce dossier que vous sauvegarderez votre travail durant l'activité

Démarrer Edupython.

Pour cette activité vous allez utilisé le logiciel EduPython pour saisir, tester et modifier un programme .

Avant de commencer l'activité démarrer le logiciel.

Démarrons la simulation :

Simulation

Six pages web nommées de A à F comportent des liens hypertextes formant une toile selon le schéma suivant :

Des internautes arrivent par hasard sur l'une des 6 pages. Ils suivent de manière aléatoire les liens proposés par chaque page, augmentant ainsi le compteur de vue de chacune. Dans 80 % des cas, le sujet les intéresse et ils poursuivent leur navigation. Après le passage de 1 000 explorateurs, quelle sera la page la plus populaire ?

Saisissez et complétez le programme avec les liens hypertextes pour chacune des pages en suivant l'exemple de la page web « A » (Hypertexte["A"] = ["B","C","D"]).

1
import random
2
PageWeb = ["A","B","C","D","E","F"]
3
Hypertexte = {}
4
Hypertexte["A"] = ["B","C","D"]
5
# La page Web "A" contient 3 hypertextes qui pointent vers les pages "B","C" et "D"
6
Hypertexte["B"] = [   ]
7
Hypertexte["C"] = [       ]
8
Hypertexte["D"] = [                   ]
9
Hypertexte["E"] = [           ]
10
Hypertexte["F"] = [   ]

Saisissez la suite du programme ci-dessous.

1
2
Nb_clic = {}
3
Nb_clic["A"] = 0
4
Nb_clic["B"] = 0
5
Nb_clic["C"] = 0
6
Nb_clic["D"] = 0
7
Nb_clic["E"] = 0
8
Nb_clic["F"] = 0
9
10
# boucle des 1000 internautes
11
for i in range(1, 1000):
12
    x = random.choice(PageWeb)
13
    while random.randint(1, 100) < 80:
14
            Nb_clic[x] = Nb_clic[x] + 1
15
            x = random.choice(Hypertexte[x])
16
            
17
# affichage du résultat
18
19
for x in (PageWeb): # x prend les valeurs successives de la liste PageWeb (de A à F)
20
    print(" de ",x," : ", Nb_clic[x],"clics")