"""
______________________________ IMPORTANT : A LIRE EN PRIORITE _____________________________________
Notions abordées :
	- définition et appel de fonctions
	- structure de contrôle de type PARCOURIR => la boucle WHILE

Conseils généraux :
	- respecter les niveaux d'indentation
	- utiliser des noms de variables explicites
	- utiliser des commentaires
	- user et abuser des print pour débugger, les commenter et décommenter éventuellement
	- bien analyser les messages d'erreur de python pour debugger correctement

Exercice à réaliser : 
	1) Créer une fonction afficherMenu() qui affiche le menu ci-dessous et qui retourne le choix de l'utilisateur.
		********** Bienvenue **********
		Que voulez-vous faire ?
		1 - Afficher une table de multiplication de votre choix
		2 - Afficher toutes les tables de multiplication de 1 à 10
		3 - Quitter l'application
		Votre choix :
	2) Utiliser une boucle WHILE pour afficher le menu tant que l'utilisateur n'a pas décidé de quitter l'application.
	3) Compléter les fonctionnalités du menu en utilisant le code de l'exercice précédent. Vous veillerez à définir
	une fonction pour chaque fonctionnalité.
"""

# DEFINITIONS DES FONCTIONS -----------------------------------------------------------------------
#_____________________________________ Question 1) ________________________________________________
def afficherMenu():
	print("") # saut de ligne
	print("********** Bienvenue **********")
	print("Que voulez-vous faire ?")
	print("1 - Afficher une table de multiplication de votre choix")
	print("2 - Afficher toutes les tables de multiplication de 1 à 10")
	print("3 - Quitter l'application")
	return input("Votre choix :")

#_____________________________________ Question 3) ________________________________________________
def afficherTableDe(num_table):
	print("") # saut de ligne
	print("===== TABLE DE", num_table, "=====")
	for i in range(1, 11):
		print(str(i) + " x " + str(num_table) + " = " + str(i * num_table))
	print("") # saut de ligne

def afficherTables():
	print("") # saut de ligne
	for j in range(1, 11):
		print("===== TABLE DE", j, "=====")
		for i in range(1, 11):
			print(str(i) + " x " + str(j) + " = " + str(i * j))
		print("")

# PROGRAMME PRINCIPAL -----------------------------------------------------------------------------
#_____________________________________ Question 1) ________________________________________________
choix = afficherMenu()

#_____________________________________ Question 2) et 3)________________________________________________
while(choix != "3"):
	if choix == "1":
		choix_table = int(input("Quelle table voulez-vous afficher ? "))
		afficherTableDe(choix_table)
	elif choix == "2":
		afficherTables()
	choix = afficherMenu()

# Si on sort de la boucle, c'est que l'utilisateur a saisi le choix 3 et a donc décidé de quitter l'application
print("") # saut de ligne
print("Vous avez décide de quitter l'application. A bientôt...")