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

Résolu
chris59190 Messages postés 5 Statut Membre -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
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

  1. codeur782
     
    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
    1. chris59190 Messages postés 5 Statut Membre
       
      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
      1. codeur782 > chris59190 Messages postés 5 Statut Membre
         
        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
      2. chris59190 Messages postés 5 Statut Membre > codeur782
         
        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
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    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
    1. chris59190 Messages postés 5 Statut Membre
       
      Bonjour mamiemando,

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

      Belle après midi
      0
      1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940 > chris59190 Messages postés 5 Statut Membre
         
        Oui, n'hésite pas :-) Bon après-midi également !
        0
  3. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    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
    1. chris59190 Messages postés 5 Statut Membre
       
      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