Au Scrabble, chaque lettre est associée à un certain nombre de points. Par exemple, la lettre A vaut 1 point, alors que la lettre B vaut 3 points. Le nombre de points obtenu avec un mot est alors la somme des points de chacune des lettres qui le composent.
Écrire une fonction
>>> pointsMot("SCRABBLE")
14
Code de base :
def pointsMot(mot):
# Dictionnaire associant un nombre de points à chaque lettre
points = {"A":1,"B":3,"C":3,"D":2,"E":1,"F":4,"G":2,"H":4,"I":1,"J":8,"K":10,"L":1,"M":2,"N":1,"O":1,"P":3,"Q":8,"R":1,"S":1,"T":1,"U":1,"V":4,"W":10,"X":10,"Y":10,"Z":10}
# Votre code ici !
return 0
Une compétition d’informatique oppose plusieurs participants, auxquels on demande d’écrire le plus rapidement possible
un programme répondant à un problème donné. Les résultats sont inscrits dans un dictionnaire sous la forme nom : temps
où
Écrire une fonction
>>> resultats = {"Alice": 322, "Bob": 210, "Charlie": 1290}
>>> vainqueur(resultats)
'Bob'
Code de base :
from math import inf # Valeur infinie
def vainqueur(resultats):
score_min = inf
nom_vainqueur = ""
for ... in resultats:
if ... < score_min:
score_min = ...
nom_vainqueur = ...
return nom_vainqueur
On considère un dictionnaire de la forme suivante :
panier = {"pommes" : [4, 0.5], "poires" : [3, 0.8], "bananes": [1, 1]}
Dans ce dictionnaire, chaque clé est un article présent dans le panier, et chaque valeur est une liste de la forme
>>> panier = {"pommes" : [4, 0.5], "poires" : [3, 0.8], "bananes": [1, 1]}
>>> prix_total(panier)
5.4
Code de base :
def prix_total(panier):
total = 0
for ... in panier:
prix_article = ...
total += ...
return total
>>> panier = {"pommes" : [4, 0.5], "poires" : [3, 0.8], "bananes": [1, 1]}
>>> ticket_caisse(panier)
pommes : 4*0.5 = 2.0€
poires : 3*0.8 = 2.4€
bananes : 1*1 = 1€
-----
Total : 5.4€
Les réponses correctes d'un QCM de NSI sont stockées dans un dictionnaire nommé
reponses_valides = {"Q1":"c","Q2":"a","Q3":"d","Q4":"c","Q5":"b"}
Les réponses données par un élève sont stockées dans un dictionnaire
reponses_eleve = {"Q1":"b","Q2":"a","Q3":"d","Q5":"a"}
Lorsque l'élève n'a pas répondu à une question, il n'y a pas de clef correspondant au numéro de la question.
La notation du QCM est la suivante : 3 points par réponse correcte, -1 point par réponse incorrecte et 0 si l'on n'a pas répondu.
>>> reponses_valides = {"Q1":"c","Q2":"a","Q3":"d","Q4":"c","Q5":"b"}
>>> reponses_eleve = {"Q1":"b","Q2":"a","Q3":"d","Q5":"a"}
>>> points_eleve(reponses_eleve, reponses_valides)
4
Compléter la fonction def points_eleve(reponses_eleve, reponses_valides):
points = 0
for num_question in reponses_valides:
reponse = reponses_valides[...]
if ... in reponses_eleve:
if reponses_eleve[...] == ... :
points += 3
else:
...
return points
>>> reponses_valides = {"Q1":"c","Q2":"a","Q3":"d","Q4":"c","Q5":"b"}
>>> dico_reponses_eleves = {"Alice" : {"Q1":"b","Q2":"a","Q3":"d","Q5":"a"},
"Bob" : {"Q1":"a","Q2":"a","Q3":"c","Q4":"d","Q5":"a"},
"Charlie" : {"Q1":"c","Q2":"a"}}
>>> resultats_qcm(dico_reponses_eleves, reponses_valides)
{"Alice": 4, "Bob": 0, "Charlie": 6}
à venir