IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Comment faire pour revenir au début du programme ?


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2022
    Messages : 6
    Par défaut Comment faire pour revenir au début du programme ?
    Bonjour ,

    J'ai un problème. Je n'arrive pas à utiliser 2 boucles while ... En effet, la première permettrait de pouvoir recommencer depuis le début et l'autre, permettrait de vérifier si on a bien une entrée numérique et non alpha ... (C'est pour Python3)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    c=""
    Recommencer_le_jeu="oui"
     
    while Recommencer_le_jeu:
           while not (c.isdigit()):
                c=int(input("Quel nombre ? "))
                print (c,"* 4 =",c*4)
     
                Recommencer_le_jeu=input("souhaitez-vous recommencer ? o/n ")
     
     
                if Recommencer_le_jeu in ["o","oui","ok"]:
                       continue
                else:
                       print("\033[93mVous venez de choisir l'option de quitter le programme")
                       print("\033[0mMerci et à bientôt!")
                       break
    Quelqu'un pourrait-il m'aider ? Merci

  2. #2
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 923
    Billets dans le blog
    8
    Par défaut
    Bonjour,
    Tu n'as aucunement besoin de deux boucles.
    Tu pourrais par exemple faire ceci: (il y a mieux à faire, mais ceci reste proche de ton code)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    while True:
                c=int(input("Quel nombre ? "))
                print (c,"* 4 =",c*4)
     
                Recommencer_le_jeu=input("souhaitez-vous recommencer ? o/n ")
                if not Recommencer_le_jeu in ["o","oui","ok"]:
                       print("\033[93mVous venez de choisir l'option de quitter le programme")
                       print("\033[0mMerci et à bientôt!")
                       break

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2022
    Messages : 6
    Par défaut problème de retour en début du programme avec 2 boucles
    Merci Hominidé mais non, ça va pas. J'aimerais pouvoir garder la vérification de ce que je rentre au clavier avec la fonction isdigit(). Cette fonction est importante pour pas rentrer n'importe quoi dans le input ... Grâce à la fonction isdigit(), j'éviterai de rentrer autre chose qu'une valeur numérique.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Quel nombre ? 21
    21 * 4 = 84
    souhaitez-vous recommencer ? o/n o
    Quel nombre ? 8e
    Traceback (most recent call last):
      File "Bureau/ty.py", line 2, in <module>
        c=int(input("Quel nombre ? "))
    ValueError: invalid literal for int() with base 10: '8e'
    Même un enter, ça met à mal le programme et ça m'ennuie beaucoup. Je suppose qu'il exister un moyen de mettre les 2 boucles while ensemble mais j'arrive à rien.
    Merci quand même d'avoir répondu

  4. #4
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 923
    Billets dans le blog
    8
    Par défaut
    Ok, je saisie ton intention.
    Observe le comportement du code ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    while True:
            c=input("Quel nombre ? ")
            while not c.isdigit():
                    print("Erreur ceci n'est pas un chiffre, recommence")
                    c = input('>')
            print(f"c * 4 = {int(c)*4}")
            Recommencer_le_jeu=input("souhaitez-vous recommencer ? o/n ")
            if not Recommencer_le_jeu in ["o","oui","ok"]:
                    print("\033[93mVous venez de choisir l'option de quitter le programme")
                    print("\033[0mMerci et à bientôt!")
                    break

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2022
    Messages : 6
    Par défaut Re
    Sorry, je n'avais pas vu le code dans son intégralité Merci infiniment à toi Hominidé ! Des heures à me casser la tête et tu viens de me donner la solution

    Merciiii

  6. #6
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 923
    Billets dans le blog
    8
    Par défaut
    Je viens d'éditer le code avec la solution mis en oeuvre
    ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/03/2010, 18h05
  2. Réponses: 1
    Dernier message: 18/11/2008, 09h24
  3. Réponses: 2
    Dernier message: 20/07/2008, 10h41
  4. Réponses: 4
    Dernier message: 30/04/2008, 14h55
  5. Comment faire pour ouvrir son programme en plein écran.
    Par thom43 dans le forum Windows Forms
    Réponses: 21
    Dernier message: 04/10/2007, 23h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo