Besoin d'aide pour créer un programme Python mot de passe

Résolu/Fermé
chris59190 Messages postés 5 Date d'inscription mercredi 23 mars 2022 Statut Membre Dernière intervention 29 mars 2022 - Modifié le 29 mars 2022 à 15:26
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 - 29 mars 2022 à 17:16
Bonjour,

Je suis débutant sur Python et je dois créer un programme avec python.

Voici les informations que l'on me donne :

Compléter le programme suivant qui demande l'identifiant (id), puis demande le mot de passe (mdp) si l'identifiant est
lola2006
et autorise la connexion si le mot de passe est
SwuttN5$
.


On me donne également le début du programme :
id = input("Identifiant?")
if id ==
mdp =
if mdp ==
print("connexion autorisée")

Je dois trouver les informations à mettre à la ligne 2, 3 et 4

Pouvez-vous m'aider ?
Merci pour vos retours et vos explications.
Belle journée à tous

3 réponses

Bonjour.

id = input("Identifiant : ")
mdp = input("Mot de passe : ")
if id == "a" and mdp == "b":
    print("Bienvenue")
else:
    print("Identifiant ou id incorrect...")
  • l1 On déclare la variable
    id
    qui est initialisée à l'aide d'un
    input
    (espace d'interaction pour demander une valeur a l'utilisateur) ;
  • l2 Pareil mais pour le mot de passe (variable
    mdp
    ) ;
  • l3 Condition (si
    id
    est égal à
    "a"
    et si
    mdp
    est égal à
    "b"
    ) en remplace dans le code tous les
    "a"
    et
    "b"
    par tes valeurs d'id et mdp
  • l4 Écrire "bienvenue"
  • l5 Sinon
  • l6 Écrire que c'est incorrect


Cordialement.
2
chris59190 Messages postés 5 Date d'inscription mercredi 23 mars 2022 Statut Membre Dernière intervention 29 mars 2022
23 mars 2022 à 10:57
Bonjour codeur782,

Merci pour ton retour rapide, j'y vois un peu plus clair même si cela est difficile pour moi.
On me demande également d'ajouter au programme précédent des lignes de manière à faire afficher "mauvais identifiant" si l'identifiant n'est pas le bon et "Mauvais mot de passe" si l'identifiant est le bon mais pas le mot de passe ?
J'ai vraiment du mal alors que l'on nous dit que le langage Python est le plus facile des langages de programmation !
Merci à toi
0
codeur782 > chris59190 Messages postés 5 Date d'inscription mercredi 23 mars 2022 Statut Membre Dernière intervention 29 mars 2022
Modifié le 29 mars 2022 à 15:27
id = input("Identifiant : ")
mdp = input("Mot de passe : ")

if id == "a" and mdp == "b":
    print("Bienvenue")
elif id == "a" and mdp != "b":
    print("Mot de passe incorrect...")
elif id != "a" and mdp == "b":
    print("Identifiant incorrect...")


!=
signifie "différent de ...".
Python est véritablement simple, mais pas forcément au début. J'étais pareil.

Bonne continuation
1
chris59190 Messages postés 5 Date d'inscription mercredi 23 mars 2022 Statut Membre Dernière intervention 29 mars 2022 > codeur782
Modifié le 29 mars 2022 à 15:27
Merci beaucoup pour votre soutien.
J'ai beau avoir acheté des livres de débutant comme Python pour les kids et Python pour les nuls et avoir installé Python 3 mais j'espère mieux comprendre par la suite !
Belle journée à vous
-1
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
Modifié le 29 mars 2022 à 16:53
Bonjour,

En complément des messages précédents

Quelques bases en python
  • L'opérateur
    =
    sert à affecter une valeur (à droite de l'opérateur) à une variable (à gauche de l'opérateur) ;
  • La fonction
    input
    permet de stocker une saisie faite au clavier (sur l'entrée standard) dans une variable. Le résultat est enregistré sous forme d'une chaîne de caractère.
  • La fonction
    print
    sert à écrire du texte (sur la sortie standard).
  • L'opérateur
    ==
    est l'opérateur de comparaison réalise un test d'égalité sur ses deux opérandes (à gauche et à droite de l'opérateur) ; si le test est vrai, ce test d'égalité vaut
    True
    , sinon il vaut
    False
    .
  • Il existe d'autres opérateurs de comparaison :
    • <
      : strictement inférieur à ;
    • <=
      : inférieur ou égal à ;
    • >
      : strictement supérieur à ;
    • >=
      : supérieur ou égal à ;
    • !=
      : différent de ;
  • Le bloc
    if ... :
    réalise un test. Un test est par exemple le résultat d'une comparaison (et plus généralement, n'importe quel calcul qui retourne une valeur). Si la condition après le
    if
    est vraie (c'est à dire ne vaut ni
    None
    , ni
    False
    , ni
    0
    . Dans ce cas, on entre dans le bloc de code indenté sous le
    if
    . Sinon il est ignoré.


x = 7
if x < 10:
    print("x est strictement plus petit que 10")
print("Fin du programme")
  • L'indentation (c'est-à-dire les espaces en début de ligne) spécifie quelle(s) instruction(s) sont conditionnées par le test.


Exemple :

x = 7
if x < 10:
    print("x est strictement plus petit que 10")
    print("x est vraiment strictement plus petit que 10")
print("Fin du programme")
  • Le bloc
    if ... : 
    peut être complété par un bloc
    else: ...
    : c'est le même principe, le bloc
    else
    est exécuté si et seulement le test du
    if
    a échoué.


x = 7
if x < 10:
    print("x est strictement plus petit que 10")
    print("x est vraiment strictement plus petit que 10")
else:
    print("x est supérieur ou égal à 10")
    print("x est vraiment supérieur ou égal à 10")
print("Fin du programme")
  • il est possible de faire plusieurs tests à la suite, et si ces tests sont exclusifs (c'est-à-dire on ne fait le second test que si le premier a échoué et ainsi de suite) alors on peut écrire (
    instruction3
    est exécuté si et seulement si
    test1
    et
    test2
    sont faux :


if test1:
    instructions1
else:
    if test2:
        instructions2
    else:
        instructions3
  • ce même code se réécrit ainsi avec des
    elif
    (contraction de
    else
    +
    if
    ) :


if test1:
    instructions1
elif test2:
    instructions2
else:
    instructions3
  • on peut écrire des tests plus évolués, impliquant des opérateurs logique (= opérateurs booléens) :
    • and
      : ET logique ;
    • or
      : OU logique ;
    • not
      : NON logique ;


Comment écrire un programme

Si ça te permet d'être plus à l'aise, essaye d'écrire ton texte en langage naturel, puis ensuite "traduis"-le en python. Dans cet exercice, il faut récupérer le login avant de l'évaluer, et il en va de même pour le mot de passe. Ensuite, comme le montre l'énoncé, l'authentification n'est autorisée que SI le login vaut
lola
ET si le mot de passe vaut
SwuttN5$
.

On aboutit au pseudo code suivant :

LIRE id
LIRE mdp
SI id EST EGAL A "lola" ET mdp EST EGAL A "SwuttN5$" ALORS
AFFICHER "authentification réussie"
SINON
AFFICHER "authentification échouée"


Une fois "traduit", on aboutit à la même structure de programme que celle proposée dans le message #2.

Une autre manière d'écrire ce programme (qui semble être celle attendue dans ton exercice et qui ne nécessite pas de
and
) :

LIRE id
SI id EST EGAL A "lola"
LIRE mdp
SI mdp EST EGAL A "SwuttN5$"
AFFICHER "Authentification réussie."
SINON
AFFICHER "Mot de passe incorrect."
SINON
AFFICHER "ID incorrect."


... lequel se traduit en :

id = input("ID ? ")
if id == "lola":
    mdp = input("Mot de passe ? ")
    if mdp == "SwuttN5$":
        print("Authentification réussie.")
    else:
        print("Mot de passe incorrect.")
else:
    print("ID incorrect.")


Bonne chance
1
chris59190 Messages postés 5 Date d'inscription mercredi 23 mars 2022 Statut Membre Dernière intervention 29 mars 2022
29 mars 2022 à 16:03
Bonjour mamiemando,

merci pour toutes ces informations et explications. Je me permettrais de revenir vers vous si besoin.

Belle après midi
0
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748 > chris59190 Messages postés 5 Date d'inscription mercredi 23 mars 2022 Statut Membre Dernière intervention 29 mars 2022
29 mars 2022 à 17:16
Oui, n'hésite pas :-) Bon après-midi également !
0
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
23 mars 2022 à 10:32
Bonjour,
Il faut aussi saisir le mot de passe, non ?
_id = input('identifiant : ')
mdp = input('mot de passe : ')
if(_id == 'lola2006' and mdp == 'SwuttN5$'): print('Connexion autorisée')
0
chris59190 Messages postés 5 Date d'inscription mercredi 23 mars 2022 Statut Membre Dernière intervention 29 mars 2022
23 mars 2022 à 10:49
Merci Phil_1857 pour votre retour rapide.
Dans un premier temps on me demande de compléter les lignes
if id==
mdp=
if mdp==
C'est certainement la base mais je n'y comprends rien
Encore merci pour votre retour
1