Listes Lab - Mini projet#
Le but de cet exercice est de créer étape par étape une simulation de la création d'un compte et l'identification sur un site ou une application.
Enregistrement d'un nouvel utilisateur
Complétez le programme ci-dessous:
demandez à l'utilisateur de choisir un nom d'utilisateur et un mot de passe.
créez un fonction
utilisateur_existe(utilisateur)
qui retourneTrue
si l'utilisateur passé en paramètre existe dans la listeutilisateurs
.si le nom d'utilisateur n'existe pas encore, ajoutez le nom d'utilisateur dans la liste
utilisateurs
et le mot de passe dans cellemots_de_passe
.
Voici un exemple d'exécution du programme:
Choisissez un nom d'utilisateur: user1
Choisissez un mot de passe: hfhf
Cet utilisateur existe déjà.
Choisissez un nom d'utilisateur: user4
Choisissez un mot de passe: mdp4
L'utilisateur user4 a été ajouté.
Astuce
Utilisez la syntaxe if a in b
pour vérifier si a se trouve dans la liste b.
Solution
1def utilisateur_existe(utilisateur):
2 if utilisateur in utilisateurs:
3 return True
4 else:
5 return False
6
7...
8
9if utilisateur_existe(login):
10 print("Cet utilisateur existe déjà.")
11else:
12 utilisateurs.append(login)
13 mots_de_passe.append(mdp)
14 print("L'utilisateur", login, "a été ajouté.")
Fonction pour créer un utilisateur
Sauvegardez cette fonctionnalité dans la fonction cree_utilisateur()
qui va se
charger d'ajouter un nouvel utilisateur avec son mot de passe.
Solution
1def utilisateur_existe(utilisateur):
2 ...
3
4def cree_utilisateur():
5 login = input("Choisissez un nom d'utilisateur: ")
6 mdp = input("Choisissez un mot de passe: ")
7
8 if utilisateur_existe(login):
9 print("Cet utilisateur existe déjà.")
10 else:
11 utilisateurs.append(login)
12 mots_de_passe.append(mdp)
13 print("L'utilisateur", login, "a été ajouté.")
14
15...
16
17cree_utilisateur()
Identification d'un utilisateur
Complétez le programme ci-dessous:
demandez à l'utilisateur d'entrer son nom d'utilisateur et son mot de passe.
vérifiez si les identifiants entrés sont corrects. Pour cela,
utiliser la fonction
utilisateur_existe(utilisateur)
pour savoir si le nom d'utilisateur existe.créer une fonction
mot_de_passe_correct(utilisateur, mdp)
qui retourneTrue
si le mot de passe passé en paramètre correspond au mot de passe de l'utilisateur.
Voici un exemple d'exécution du programme:
Entrez votre nom d'utilisateur: user5
Entrez votre mot de passe: hfhf
L'utilisateur user5 n'existe pas.
Entrez votre nom d'utilisateur: user2
Entrez votre mot de passe: mdp4
Le mot de passe est incorrect.
Entrez votre nom d'utilisateur: user2
Entrez votre mot de passe: mdp2
Bienvenu(e) sur le site.
Astuce
Utilisez ma_liste.index(mon_element)
pour récupérer l'index d'un élément.
utilisateurs.index("user1")
retourne l'index de l'élément user1
,
c'est-à-dire 0.
Pensez à stocker la valeur pour pouvoir la réutiliser.
Solution
1def utilisateur_existe(utilisateur):
2 ...
3
4def mot_de_passe_correct(utilisateur, mdp):
5 index = utilisateurs.index(utilisateur)
6 if mdp == mots_de_passe[index]:
7 return True
8 else:
9 return False
10
11def cree_utilisateur():
12 ...
13
14...
15
16if utilisateur_existe(login):
17 if mot_de_passe_correct(login, mdp):
18 print("Bienvenu(e) sur le site.")
19 else:
20 print("Le mot de passe est incorrect.")
21else:
22 print("L'utilisateur", login, "n'existe pas.")
Fonction pour l'identification
Sauvegardez cette fonctionnalité dans la fonction identification()
qui va
simuler l'identification d'un utilisateur.
Solution
1def utilisateur_existe(utilisateur):
2 ...
3
4def mot_de_passe_correct(utilisateur, mdp):
5 ...
6
7def cree_utilisateur():
8 ...
9
10def identification():
11 login = input("Entrez votre nom d'utilisateur: ")
12 mdp = input("Entrez votre mot de passe: ")
13 if utilisateur_existe(login):
14 if mot_de_passe_correct(login, mdp):
15 print("Bienvenu(e) sur le site.")
16 else:
17 print("Le mot de passe est incorrect.")
18 else:
19 print("L'utilisateur", login, "n'existe pas.")
20
21...
22identification()
Menu à choix
Complétez le programme précédent pour pouvoir choisir entre trois options:
Que voulez-vous faire?
1: créer un compte
2: vous identifier
3: quitter
Astuce
Utilisez une boucle while True
pour que l'utilisateur puisse faire plusieurs
choix à la suite.
Pour quitter, utiliser l'instruction break
qui permet de sortir de la boucle
infinie et continuer le programme.
Solution
1def utilisateur_existe(utilisateur):
2 ...
3
4def mot_de_passe_correct(utilisateur, mdp):
5 ...
6
7def cree_utilisateur():
8 ...
9
10def identification():
11 ...
12
13...
14
15while True:
16 print("Que voulez-vous faire ?")
17 print("1: créer un compte")
18 print("2: vous identifier")
19 print("3: quitter")
20 choix=int(input())
21 if choix == 1:
22 cree_utilisateur()
23 elif choix == 2:
24 identification()
25 elif choix == 3:
26 break
27 else:
28 print("Choix non valide.")
29print("Au revoir!")
Affichage des listes
Complétez le programme précédent pour que lorsque l'utilisateur quitte le programme la liste de tous les utilisateurs du système avec leur mot de passe s'affiche.
Voici comment afficher les informations:
Nom d'utilisateur: user1 Mot de passe: mdp1
Nom d'utilisateur: user2 Mot de passe: mdp2
Nom d'utilisateur: user3 Mot de passe: mdp3
Astuce
Utilisez len(ma_liste)
pour récupérer la longueur de la liste et utiliser une
boucle for
pour parcourir tous les index.
# Définition des fonctions
# Définition des variables
utilisateurs = ["user1", "user2", "user3"]
mots_de_passe = ["mdp1", "mdp2", "mpd3"]
# Programme principal
Solution
1def utilisateur_existe(utilisateur):
2 if utilisateur in utilisateurs:
3 return True
4 else:
5 return False
6
7def mot_de_passe_correct(utilisateur, mdp):
8 index = utilisateurs.index(utilisateur)
9 if mdp == mots_de_passe[index]:
10 return True
11 else:
12 return False
13
14def cree_utilisateur():
15 login = input("Choisissez un nom d'utilisateur: ")
16 mdp = input("Choisissez un mot de passe: ")
17
18 if utilisateur_existe(login):
19 print("Cet utilisateur existe déjà.")
20 else:
21 utilisateurs.append(login)
22 mots_de_passe.append(mdp)
23 print("L'utilisateur", login, "a été ajouté.")
24
25def identification():
26 login = input("Entrez votre nom d'utilisateur: ")
27 mdp = input("Entrez votre mot de passe: ")
28 if utilisateur_existe(login):
29 if mot_de_passe_correct(login, mdp):
30 print("Bienvenu(e) sur le site.")
31 else:
32 print("Le mot de passe est incorrect.")
33 else:
34 print("L'utilisateur", login, "n'existe pas.")
35
36utilisateurs = []
37mots_de_passe = []
38
39while True:
40 print("Que voulez-vous faire ?")
41 print("1: créer un compte")
42 print("2: vous identifier")
43 print("3: quitter")
44 choix=int(input())
45 if choix == 1:
46 cree_utilisateur()
47 elif choix == 2:
48 identification()
49 elif choix == 3:
50 break
51 else:
52 print("Choix non valide.")
53for i in range(len(utilisateurs)):
54 print("Nom d'utilisateur:", utilisateurs[i], "Mot de passe:", mots_de_passe[i])