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

Calcul scientifique Python Discussion :

je ne vois pas ou est le problème dans ce code


Sujet :

Calcul scientifique Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Décembre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2019
    Messages : 2
    Points : 1
    Points
    1
    Par défaut je ne vois pas ou est le problème dans ce code
    bonjour
    j'ai commencé a écrire un programme mais je ne comprend pas pourquoi il ne fonctionne pas. Quand je l’exécute il ne m'affiche 1 ça ne devrai pas non?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    def fonction():
      n=1
      u=70
      v=50
      while v*2<=u:
        u=u+12
        v=v*1.08
        n=n+1
      return n
    print (fonction())
    merci de m'aidez a trouver ou est mon erreur

  2. #2
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Ben je ne sais pas ce que tu veux faire mais c'est normal que le nombre 1 soit affiché car ta fonction retourne la variable n or au début de la fonction tu initialises cette variable avec la valeur 1 et entre temps cette variable n'est pas modifiée *...

    * L'instruction n=n+1 n'est jamais exécutée car je suppose (oui c'est une supposition car sans l'indentation on ne peut pas savoir) que cette instruction est dans le bloc de la boucle while or la condition v*2<=u n'est pas vraie au départ donc on passe directement au return n...

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Décembre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2019
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    ah ok mais alors comment je fais?

  4. #4
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Citation Envoyé par boris-balthazar Voir le message
    j'initialise n au debut mais dans la boucle n se modifie a chaque fois non?
    Entre temps j'ai ajouté une explication concernant ce point...

  5. #5
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Non, on ne rentre pas dans la boucle éventuellement : cela dépend de ton indentation. Mets ton programme entre balises de code (#).
    Pas d'aide par mp.

  6. #6
    Membre émérite

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Points : 2 328
    Points
    2 328
    Par défaut
    Si, au départ, u=70 et v=50, alors v*2 c'est 100 et donc la condition du while c'est 100<=70. Ce qui est faux, donc on ne rentre jamais dans la boucle.

    Et pour en avoir le coeur net, vous pouvez toujours le vérifier en faisant des print
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      print("Justa avant la boucle")
      while v*2<=u:
          print("Je suis dans la boucle et n vaut ",n)
    et vous constaterez que le 2ieme print ne s'éxécute pas

Discussions similaires

  1. Où est le problème dans ce code
    Par alidroos dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/12/2011, 15h58
  2. je ne vois pas où est le problème de type
    Par Discovery dans le forum Débuter
    Réponses: 2
    Dernier message: 14/05/2009, 15h29
  3. je ne sais pas où est le probléme
    Par info_sara dans le forum Flash
    Réponses: 3
    Dernier message: 18/06/2008, 22h23
  4. addKeyListener, je vois pas ou est le probleme.
    Par 19cmos83 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 30/08/2007, 12h32
  5. Quel est le problème dans ce code ?
    Par Luther13 dans le forum C
    Réponses: 12
    Dernier message: 26/08/2003, 16h09

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