Sujet
Fichier « réponse » à compléter (remplacer les @@@ par ce qui convient)
"""Lycée Saint Michel - Première - Spécialité NSI | Epreuve Pratique."""
""" ===========================================================================
NOM :
Prénom :
Classe : 1re
============================================================================"""
# EXERCICE 2
def selection_mots(mots, lon, let):
# Cas où 'let' est une lettre minuscule
if ord(let) > 96 and ord(let) < 123:
# On la convertit en lettre majuscule
let = chr(@@@ - 32)
# Cas où 'let' n'est pas une lettre majuscule
if ord(let) < 65 @@@ ord(let) > 90 :
# On renvoie un message d'erreur
return "L'argument : " + let + " est non correct."
n1 = 0 # Nombre de mots ayant la longueur 'lon'
n2 = 0 # Nombre de mots contenant la lettre 'let'
lm = [] # liste des mots de longueur 'lon' et qui contiennent la lettre 'let'
msg = "" # message qui sera renvoyé.
for mot in @@@:
if len(mot) == lon:
@@@ += 1
if let in mot:
@@@ += 1
if len(mot) == lon and let in mot:
lm.@@@(mot)
msg += "Il y a " + @@@ + " mots de longueur " + @@@ + "\n"
msg += "Il y a " + @@@ + " mots qui contiennent un " + @@@ + "\n"
msg += "Les mots de longueur " + @@@
msg += " et qui contiennent la lettre " + @@@ + " sont les suivants : \n"
for mot in @@@:
msg @@@ mot + "\n"
return msg
mots = ["NSI", "UAL", "RAM", "PC", "OS", "FOR", "WHILE", "IF", "LIST", "FLOAT",
"DICT", "TRUE", "FALSE", "NONE", "AND", "OR", "NOT", "IN", "TUPLE",
"STR", "DEF", "USB", "HTTP", "CSS", "JS", "HTML", "IS", "RETURN"]
print(selection_mots(mots, 3, "S"))
print(selection_mots(mots, 3, "$"))
Corrigé de l’exercice 1 (Réponses possibles)
Version 1
def prix_solde(prix_normal, couleur):
taux_reduction = {"jaune": 5, "bleu": 10, "vert": 15, "orange": 20,
"rouge": 25, "rose": 30, "noir": 50}
if couleur not in taux_reduction:
return 0, prix_normal
montant_reduction = prix_normal * (taux_reduction[couleur] / 100)
prix_a_payer = prix_normal - montant_reduction
return montant_reduction, prix_a_payer
version 2
def prix_solde(prix_normal, couleur):
if couleur == "jaune":
taux_reduction = 5 / 100
elif couleur == "bleu":
taux_reduction = 10 / 100
elif couleur == "vert":
taux_reduction = 15 / 100
elif couleur == "orange":
taux_reduction = 20 / 100
elif couleur == "rouge":
taux_reduction = 25 / 100
elif couleur == "rose":
taux_reduction = 30 / 100
elif couleur == "noir":
taux_reduction = 50 / 100
else:
return 0, prix_normal
montant_reduction = prix_normal * taux_reduction
prix_a_payer = prix_normal - montant_reduction
return montant_reduction, prix_a_payer
Corrigé de l’exercice 2
def selection_mots(mots, lon, let):
# Cas où 'let' est une lettre minuscule
if ord(let) > 96 and ord(let) < 123:
# On la convertit en lettre majuscule
let = chr(ord(let) - 32)
# Cas où 'let' n'est pas une lettre majuscule
if ord(let) < 65 or ord(let) > 90 :
# On renvoie un message d'erreur
return "L'argument : " + let + " est non correct."
n1 = 0 # Nombre de mots ayant la longueur 'lon'
n2 = 0 # Nombre de mots contenant la lettre 'let'
lm = [] # liste des mots de longueur 'lon' et qui contiennent la lettre 'let'
msg = "" # message qui sera renvoyé.
for mot in mots:
if len(mot) == lon:
n1 += 1
if let in mot:
n2 += 1
if len(mot) == lon and let in mot:
lm.append(mot)
msg += "Il y a " + str(n1) + " mots de longueur " + str(lon) + "\n"
msg += "Il y a " + str(n2) + " mots qui contiennent un " + let + "\n"
msg += "Les mots de longueur " + str(lon)
msg += " et qui contiennent la lettre " + let + " sont les suivants : \n"
for mot in lm:
msg += mot + "\n"
return msg
mots = ["NSI", "UAL", "RAM", "PC", "OS", "FOR", "WHILE", "IF", "LIST", "FLOAT",
"DICT", "TRUE", "FALSE", "NONE", "AND", "OR", "NOT", "IN", "TUPLE",
"STR", "DEF", "USB", "HTTP", "CSS", "JS", "HTML", "IS", "RETURN"]
print(selection_mots(mots, 3, "S"))
print(selection_mots(mots, 3, "$"))
Article sous licence << Cliquez pour plus d’informations <<
Post Views: 80