Bienvenue

Dans cette section, vous trouverez des ressources sur les cours que j'enseigne à savoir de la documentation, du code, des vidéos etc. Dès que je trouve quelque chose d'intéressant à partager, je le mettrai à disposition ici pour mes étudiants.


Devoir 5

Compte bancaire

		##Auteur : Enseignant
		##École : Collège Marie Victorin 
		##Session : Automne 2023
		##Titre du cours : Introduction à la programmation avec Python
		##Titre du programme : devoir4.py
		##Courte description du programme : Simulation des transactions de base dans un compte bancaire : dépots, retraits, solde
		##Version : 1.0
		##Date : 00/00/2023
		##Langage et version : Python - 3.11
		##Règles de fonctionnement du programme :
		##Effectuer un ou plusieurs dépots
		##Effectuer un ou plusieurs retraits
		##Afficher le solde du compte
		##
		## fonction qui vérifie si la liste des transactions est vide
		def est_vide_liste(pLstTransac):

			## Si la liste est vide
			if len(pLstTransac) == 0:
				return True
			else:
				return False

		## Fonction qui teste si un nombre est positif
		def positif():
			strPromptTransaction = 'Veuillez entrer le montant de la transaction : '
			strErreurTransaction = 'Le montant du dépôt est négatif. Veuillez recommencer.'
			flMontant = -1.0
			while flMontant < 0:
				flMontant = float(input(strPromptTransaction))
				if flMontant < 0:
					print(strErreurTransaction)

			return flMontant

		## Fonction qui permet de faire un dépôt
		def depot(pLstTransac):

			##Tester si le dépot est positif    
			flDepot = positif()

			##Ajouter le dépot à la liste des transactions
			pLstTransac.append(flDepot)

			return pLstTransac
						
		## Fonction qui permet de faire un retrait.
		## Elle prend une liste en paramêtre
		## Elle retourne une liste
		def retrait(pLstTransac):
			strPromptRetrait = 'Veuillez entrer le montant du retrait - (Max = 1000) : '
			strErreurRetrait = 'Retrait impossible. Montant > 1000 '

			flRetraitMax = 1000    
			flRetrait = -1.0

			## Répéter tant que les conditions ne sont pas satisfaites
			while flRetrait < afficher_solde(pLstTransac) or flRetrait > flRetraitMax:

				## Saisie de la transaction
				flRetrait = float(input(strPromptRetrait))

				## Vérification du montant du retrait
				if flRetrait < afficher_solde(pLstTransac) or flRetrait > flRetraitMax:
					print(strErreurRetrait)
				else:
					pLstTransac.append(-flRetrait)

			return pLstTransac


		## Fonction qui permet d'afficher le solde du compte
		## Elle prend une liste en paramêtre
		## Elle retourne un solde

		def afficher_solde(pLstTransac):
			##
			strAffichageSolde = 'Le solde du compte est : '
			flSolde = 0.0
			if not est_vide_liste(pLstTransac) :
				return sum(pLstTransac)
			else:
				return 0
			

		## Programme principal

		strDevoir = 'Devoir 5 '
		strNomProgramme = 'Gestion de compte bancaire'
		strTrait = '='
		strAuteur = 'Nom de l'étudiant'
		strDepot = 'D - Effectuer un (d)épôt'
		strRetrait = 'R - Effectuer un (r)etrait'
		strSolde = 'S - Afficher le (s)olde '
		strListeTransactions = 'L - Afficher la (l)iste des transactions'
		strInitialiser = 'Z - Réinitialiser le compte - Mettre le compte à (z)éro '
		strFinProgramme = 'Q - Quitter'
		strQuitter = 'Fin de de programme. Merci Aurevoir....'
		strPromptTransaction = 'Veuillez sélectionner la transaction à effectuer :  '
		strSoldeCompte = '\nLe solde du compte est : {} $\n'
		strMsgCompteReinit = '\nLe compte a été réinitialisé. \n'
		strCompteVide = '\nAucune transaction dans le compte...\n'


		strErreurChoix = 'Choix erroné'
		strTabulation = '\t'
		strLineFeed = '\n'
		strChoix = ''
		lstTransactions = []
		lstDepots = []
		lstRetraits = []

		flSommeTransactions = 0.0

		print(strDevoir)
		print(strTrait * len(strDevoir))
		print(strAuteur)
		print(strTrait * len(strAuteur))

		## Affichage du menu
		while strChoix not in ['q','Q']:
			print(strNomProgramme)
			print(strTrait * len(strNomProgramme))
			print(strDepot)
			print(strRetrait)
			print(strSolde)
			print(strListeTransactions)
			print(strInitialiser)
			print(strFinProgramme)
			print()
			
			strChoix = input(strPromptTransaction)
			
			if strChoix in ['q','Q']:
				print(strQuitter)
				
			elif strChoix in ['d','D']:
				lstDepots = []

				## Ajout des dépôts à la liste des transactions
				lstTransactions =  lstTransactions + depot(lstDepots)
				flSommeTransactions = afficher_solde(lstTransactions)

				## Affichage du solde
				print(strSoldeCompte.format(flSommeTransactions))
				
			elif strChoix in ['r','R']:
				lstRetraits = []

				## Vérifier si le compte contient déjà des transactions
				if est_vide_liste(lstTransactions):
					print(strCompteVide)
				else:
					## Ajout des retraits à la liste des transactions
					lstTransactions = lstTransactions + retrait(lstRetraits)
					
				flSommeTransactions = afficher_solde(lstTransactions)

				## Affichage du solde
				print(strSoldeCompte.format(flSommeTransactions))
				
			elif strChoix in ['s','S']:
				## Affichage du solde du compte
				print(strSoldeCompte.format(afficher_solde(lstTransactions)))

			elif strChoix in ['l','L']:
				
				## Vérification de la liste des transactions
				if est_vide_liste(lstTransactions):
					print(strCompteVide)
				else:
					## Affichage de la lsite des transactions
					print('Relevé de compte')
					print('Opération',strTabulation,'Montant')
					for transaction in lstTransactions:
						if transaction < 0:
							print('Débit : ', strTabulation*2, transaction)
						else:
							print('Crédit : ', strTabulation*2, transaction)

					print(strSoldeCompte.format(afficher_solde(lstTransactions)))

			elif strChoix in ['z','Z']:
				## Réinitialiser le liste
				lstTransaction = []
				if est_vide_liste(lstTransaction):
					print(strMsgCompteReinit)					
			else :
				print(strErreurChoix)
		
	  

W3schools

Python.org