Questions de Cours :
1) Un identificateur en Python est un nom qui est utilisé pour identifier un objet, tel qu'une variable, une fonction ou une classe. Il doit commencer par une lettre ou un underscore, et peut être suivi de lettres, de chiffres ou d'underscores. Les identificateurs en Python sont sensibles à la casse, ce qui signifie que les noms 'ma_variable' et 'Ma_Variable' sont considérés comme deux identificateurs différents. Un exemple d'identificateur valide est 'ma_variable'.
2) La principale différence entre une liste et un tuple en Python est que les listes sont modifiables (mutables), tandis que les tuples sont immuables (immutables). Cela signifie que les éléments d'une liste peuvent être modifiés après sa création, tandis que les éléments d'un tuple ne peuvent pas être modifiés. Les listes sont généralement utilisées lorsque vous devez ajouter, supprimer ou modifier des éléments, tandis que les tuples sont utilisés lorsque vous devez stocker des éléments qui ne doivent pas être modifiés. Par exemple, vous pouvez utiliser une liste pour stocker une liste de courses à faire, car vous pouvez ajouter ou supprimer des éléments en fonction de vos besoins. En revanche, vous pouvez utiliser un tuple pour stocker les coordonnées d'un point dans un plan cartésien, car les coordonnées d'un point ne doivent pas être modifiées.
3) Une fonction en Python est un bloc de code qui effectue une tâche spécifique et peut être appelé à partir de n'importe où dans votre code. Les fonctions sont définies à l'aide du mot-clé 'def' suivi du nom de la fonction, des parenthèses et des deux points. Les paramètres de la fonction (le cas échéant) sont spécifiés entre parenthèses, et le corps de la fonction est indenté. Les fonctions peuvent prendre des paramètres en entrée, effectuer des opérations sur ces paramètres, et renvoyer une sortie (ou aucune). Voici un exemple de fonction qui prend deux nombres en entrée, les ajoute et renvoie le résultat :
def addition(a, b):
result = a + b
return result
# appel de la fonction avec les arguments 2 et 3
print(addition(2, 3)) # affiche 5
4) Un module en Python est un fichier contenant du code Python qui peut être importé dans d'autres programmes Python. Les modules sont utilisés pour organiser le code en fonctionnalités logiques et réutilisables, et pour éviter la duplication de code. Python dispose de nombreux modules intégrés, tels que 'math' pour les opérations mathématiques, 'os' pour les opérations système, etc. Pour importer un module dans votre programme Python, vous pouvez utiliser l'instruction 'import' suivie du nom du module. Par exemple, pour importer le module math et utiliser la fonction sqrt() pour calculer la racine carrée d'un nombre, vous pouvez écrire :
import math
# calcul de la racine carrée de 16
result = math.sqrt(16)
# affichage du résultat
print(result) # affiche 4.0
5) L'indentation en Python est utilisée pour délimiter les blocs de code dans une fonction, une boucle ou une condition. Contrairement à d'autres langages de programmation qui utilisent des caractères de délimitation tels que les accolades ou les mots-clés begin/end, Python utilise l'indentation pour déterminer les blocs de code. Par exemple, voici un exemple de code Python qui utilise l'indentation pour définir un bloc de code dans une fonction :
def my_function():
print("Hello, world!")
if True:
print("This is true.")
else:
print("This is false.")
Dans cet exemple, le bloc de code de la fonction my_function() commence par la ligne qui contient la définition de la fonction et se termine par la dernière ligne qui contient un décalage vers la gauche. Les instructions print() à l'intérieur de la fonction et la condition if utilisent également l'indentation pour définir leurs blocs de code.
L'indentation est importante en Python car elle aide à rendre le code plus lisible et plus facile à comprendre. Si l'indentation n'est pas correcte, le code peut générer des erreurs de syntaxe ou produire des résultats inattendus. Pour contrôler l'indentation dans votre code Python, vous pouvez utiliser des espaces ou des tabulations pour déplacer le texte vers la droite ou vers la gauche. Il est important de choisir une convention et de la suivre de manière cohérente dans tout votre code.
Problème : Gestion des commandes de gâteaux
# Définition des gâteaux disponibles
gateaux = [("gateau au chocolat", 5), ("gateau à la vanille", 4), ("gateau aux fruits", 6)]
# Fonction pour afficher les gâteaux disponibles
def afficher_gateaux(gateaux):
print("Gâteaux disponibles :")
for g in gateaux:
print("- {} ({} €)".format(g[0], g[1]))
# Initialisation de la liste des commandes
commandes = []
# Fonction pour ajouter une commande
def ajouter_commande(commandes, gateaux):
nom_client = input("Nom du client : ")
afficher_gateaux(gateaux)
type_gateau = input("Type de gâteau : ")
quantite = int(input("Quantité : "))
commande = (nom_client, type_gateau, quantite)
commandes.append(commande)
print("Commande ajoutée :", commande)
# Fonction pour afficher toutes les commandes
def afficher_commandes(commandes):
print("Liste des commandes :")
for c in commandes:
print("- Client : {}, Gâteau : {}, Quantité : {}".format(c[0], c[1], c[2]))
# Fonction pour calculer le montant total des commandes
def calculer_total(commandes, gateaux):
total = 0
for c in commandes:
for g in gateaux:
if g[0] == c[1]:
total += g[1] * c[2]
break
return total
# Fonction pour afficher les commandes d'un client
def commandes_client(commandes, nom_client):
print("Commandes de {} :".format(nom_client))
for c in commandes:
if c[0] == nom_client:
print("- Gâteau : {}, Quantité : {}".format(c[1], c[2]))
# Fonction pour supprimer les commandes d'un client
def supprimer_commande(commandes, nom_client):
nb_supprimes = 0
i = 0
while i < len(commandes):
if commandes[i][0] == nom_client:
del commandes[i]
nb_supprimes += 1
else:
i += 1
print("{} commandes supprimées pour le client {}".format(nb_supprimes, nom_client))
# Exemple d'utilisation
afficher_gateaux(gateaux)
ajouter_commande(commandes, gateaux)
ajouter_commande(commandes, gateaux)
afficher_commandes(commandes)
print("Total à payer : {} €".format(calculer_total(commandes, gateaux)))
commandes_client(commandes, "Alice")
supprimer_commande(commandes, "Bob")
afficher_commandes(commandes)
Voici un exemple d'exécution du programme :
Gâteaux disponibles :
- gateau au chocolat (5 €)
- gateau à la vanille (4 €)
- gateau aux fruits (6 €)
Nom du client : Alice
Gâteaux disponibles :
- gateau au chocolat (5 €)
- gateau à la vanille (4 €)
- gateau aux fruits (6 €)
Type de gâteau : gateau à la vanille
Quantité : 2
Commande ajoutée : ('Alice', 'gateau à la vanille', 2)
Nom du client : Bob
Gâteaux disponibles :
- gateaux[0] : gâteau au chocolat, prix unitaire : 2.5 €
- gateaux[1] : gâteau aux fruits, prix unitaire : 3.0 €
- gateaux[2] : gâteau au fromage, prix unitaire : 4.0 €
Souhaitez-vous passer une commande ? (Oui/Non)