Mission 7 : Dictionnaires

Mission 7 : Dictionnaires

Introduction

Le but de cette mission est de développer un outil qui permet un utilisateur de chercher répétitivement dans un fichier de texte: pour des mots donnés, l'outil va imprimer les phrases dans lesquelles tous les mots donnés sont présents. Pour assurer que l'outil ne prend pas trop de temps pour déterminer ces phrases, on va construire un index des mots présents dans les phrases des documents. On utilisera les dictionnaires pour stocker l'index.

Objectifs

Objectifs individuels

A l’issue de ce problème, chacun d’entre vous sera en mesure d’exploiter les notions suivantes :
  • dictionnaires
  • fichiers

Préparation, étude et apprentissage

La matière relative à cette mission est décrite dans les sections suivantes du syllabus en ligne :

Questionnaire de démarrage

Questions à choix multiple

Les questions à choix multiples de cette mission sont également accessibles en ligne depuis https://inginious.info.ucl.ac.be/course/LSINF1101-PYTHON/Session7_QCM

You cannot see this exercise because you are currently not logged in. Click here to log in or get a direct access to the exercice on INGInious by following this link.

Question 1

Considérez le code suivant:

codes = {"Bruxelles" : [1000,1020,1030], "Louvain-la-Neuve" : [1348], "Wavre": [1300,1301]}

Les morceaux de code ci-dessous sont executés chacun après ce code. Décrivez ce qui se passe pour chacun des cas.

  • On exécute :
print(codes["Bruxelles"])
 
 

  • On exécute :
print(codes["Mons"])
 
 

  • On exécute :
print(codes[1000])
 
 

  • On exécute :
print(codes.get("Mons",[]))
 
 

  • On exécute:
codes["Liege"] = [4000]
print(codes)
 
 

  • On exécute:
codes["Bruxelles"].append(1040)
print(codes)
 
 

  • On exécute:
codes.get("Bruxelles",[]).append(1050)
print(codes)
 
 

  • On exécute:
codes.get("Arlon",[]).append(8362)
print(codes)
 
 

  • On exécute:
if "Bruxelles" in codes:
  print("Found!")
else:
  print("Not found!")
 

  • On exécute:
if 1000 in codes:
  print("Found!")
else:
  print("Not found!")
 

  • On exécute:
for x in codes:
  print(x)
 
 
 

  • On exécute:
for x in codes:
  print(codes[x])
 
 
 

  • On exécute:
for x in codes.items():
  print(x)
 
 

  • On exécute:
for x, y in codes.items():
  y = y + [2000]
print(codes)
 
 

  • On exécute:
for x, y in codes.items():
  y.append(2000)
print(codes)
 
 

  • On exécute:
for x, y in codes.items():
  x = x + "*"
print(codes)
 
 

Question 2

Considérez le code suivant:

def mot_ligne(ligne):
    d = {}
    for mot in ligne:
        d[mot] = 1
    return d

Quelle est la taille du dictionnaire résultant des appels suivants ? Pourquoi ?

  • mot_ligne(["the","world","goes","round"])
  • mot_ligne(["the","world","and","the","galaxy"])
  • mot_ligne(["run","run","run"])

Question 3

You cannot see this exercise because you are currently not logged in. Click here to log in or get a direct access to the exercice on INGInious by following this link.

Question 4

You cannot see this exercise because you are currently not logged in. Click here to log in or get a direct access to the exercice on INGInious by following this link.

Question 5

You cannot see this exercise because you are currently not logged in. Click here to log in or get a direct access to the exercice on INGInious by following this link.


Page précédente Page suivante