Partage
  • Partager sur Facebook
  • Partager sur Twitter

Calculer le nombre de minutes d'appel

Sujet résolu
    18 mars 2015 à 22:20:03

    Salut,

    J'ai besoin d'aide pour un truc en Python. Je trouve pas comment faire. Voici le problème:

    En gros, je dois entrer un nombre de minutes qu'une personne a fait au téléphone. Facile pour moi jusqu'à maintenant. Ça se gâte là:

    Les 200 premières minutes d'appel coutent 10 centimes;

    Les 200 suivantes minutes d'appel coutent 15 centimes;

    Les autres (après 400) coutent 20 centimes;

    Je voudrais des indications sur comment calculer le truc enfait, comment faire pour dire avec Python, de calculer 10 centimes par minutes pendant 200 minutes, et après calculer 15 centimes, etc...

    Merci d'avance

    PS: C'est en console. 

    -
    Edité par Olick 18 mars 2015 à 22:39:19

    • Partager sur Facebook
    • Partager sur Twitter
    As-tu de la lave ?
      18 mars 2015 à 23:07:48

      Salut

      Sauf erreur de ma part c'est correct : 

      #>0 10cents
      #>200 15cents
      #>400 20cents
      
      minutes = 500 
      cout = 0
      res = 0
      
      if minutes > 400:
          res = minutes - 400
          minutes -= res
          cout += (res * 20)
      
      if minutes > 200:
          res = minutes - 200
          minutes -= res
          cout += (res * 15)
      
      if minutes > 0: 
          cout += (minutes * 10)
      
      
      print('Cout total en centimes :', cout)



      -
      Edité par InhumanRampage 18 mars 2015 à 23:10:42

      • Partager sur Facebook
      • Partager sur Twitter
        18 mars 2015 à 23:41:59

        InhumanRampage a écrit:

        Salut

        Sauf erreur de ma part c'est correct : 

        #>0 10cents
        #>200 15cents
        #>400 20cents
        
        minutes = 500 
        cout = 0
        res = 0
        
        if minutes > 400:
            res = minutes - 400
            minutes -= res
            cout += (res * 20)
        
        if minutes > 200:
            res = minutes - 200
            minutes -= res
            cout += (res * 15)
        
        if minutes > 0: 
            cout += (minutes * 10)
        
        
        print('Cout total en centimes :', cout)



        -
        Edité par InhumanRampage il y a 26 minutes

        J'ai oublié de dire que c'est pas 400 fixes, le user peut entrer 10000 si il veut, 3992, 291, ça change quelque chose ?

        Aurais-tu Skype ?

        -
        Edité par Olick 18 mars 2015 à 23:54:59

        • Partager sur Facebook
        • Partager sur Twitter
        As-tu de la lave ?
          19 mars 2015 à 3:48:31

          InhumanRampage a écrit:

          Tu connais les variables ? 

          http://openclassrooms.com/courses/apprenez-a-programmer-en-python/le-monde-merveilleux-des-variables

          Je ne donne pas mon skype désolé :)

          C'est normal que d'après ton truc, ça monte pas en haut de 20.0 ?

          • Partager sur Facebook
          • Partager sur Twitter
          As-tu de la lave ?
          Anonyme
            19 mars 2015 à 8:04:36

            le probleme ici ce n'est pas le code (python), mais l'algorythme :)

            pour petit rappel, ce 'type' de fonction est vu en seconde, voir meme dans mon cas en 3eme ;)

            • Partager sur Facebook
            • Partager sur Twitter
              19 mars 2015 à 14:22:36

              De quoi qui monte pas plus haut que 20 ? 20 centimes ? Si tu veux faire n niveau il te suffit de faire tout ceci via une boucle, c'est pas beaucoup plus compliqué et comme dit Lubzorg c'est plus un problème algorithmique que pythonnique dans ce cas là :)

              -
              Edité par InhumanRampage 19 mars 2015 à 14:22:57

              • Partager sur Facebook
              • Partager sur Twitter
                19 mars 2015 à 20:45:41

                Oui 20 centimes, et je sais pas c'est quoi vos trucs de seconde et 3eme, je suis au Québec.
                • Partager sur Facebook
                • Partager sur Twitter
                As-tu de la lave ?
                  19 mars 2015 à 20:55:29

                  Tu n'arrives pas à reconnaître où j'ai mis 20 centimes ni 15 ni 10 ? As-tu seulement lu le code ? As-tu quelques bases en python ?

                  Tu rentres en troisième vers 14 ans et en seconde à 15 ans.

                  -
                  Edité par InhumanRampage 19 mars 2015 à 20:56:07

                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 mars 2015 à 2:01:56

                    Je parle pas des centimes qui sont a 20.

                    En gros, j'ouvre le programme: 

                    Je tape 500 minutes

                    500 minutes sont supposés faire 70 euros, vrai (si j'ai bien calculé)?

                    Bah le logiciel va me donner 20 euros. Il va pas plus haut... je peux taper 10 000 minutes, il va pas en haut de 20. Par contre, lorsque par exemple je tape 50 minutes, il donne bien 5 euros.

                    Je t'ai envoyé tout mon code en message privé, je ne souhaite pas le coller ici ^^

                    Et oui j'ai des connaissances en programmation, j'ai fait énormément de c# mais j'ai jamais eu à faire ce genre de truc. Et ma programmation reste basique et c'est bon comme ça, je suis en réseautique.

                    • Partager sur Facebook
                    • Partager sur Twitter
                    As-tu de la lave ?
                      20 mars 2015 à 3:31:03

                      nbClients = int(input('Entrez le nombre de clients : '))
                      
                      for n in range(nbClients):
                          cout, res = 0, 0
                      
                          codeClient = int(input('Entrez le code du client : '))
                          nbMinutesAvant = int(input('Entrez le nombre de minutes avant 18 heures : '))
                          nbMinutesApres = int(input('Entrez le nombre de minutes apres 18 heures : '))
                          nbMinutes = nbMinutesAvant + nbMinutesApres
                      
                      
                          if nbMinutes > 300:
                              res = nbMinutes - 300
                              nbMinutes -= res
                              cout += res * 5
                      
                          if nbMinutes > 200:
                              res = nbMinutes - 200
                              nbMinutes -= res
                              cout += res * 6
                      
                          if nbMinutes > 0:
                              cout += nbMinutes * 7
                      
                          print('Cout total en dollars :', cout / 100)
                      
                      print('Exiting..')
                      
                      • Partager sur Facebook
                      • Partager sur Twitter
                        20 mars 2015 à 3:33:13

                        possibilité 1:

                        minutes_apres_400 <- minutes - 400 (ou 0 si négatif)
                        minutes_entre_200_et_400 <- minutes - minutes_apres_400 - 200 (ou 0 si négatif)
                        minutes_avant_200 <- minutes - minutes_apres_400 - minutes_entre_200_et_400
                        
                        resultat <- minutes_avant_200 * 10 + minutes_entre_200_et_400 * 15 + minutes_apres_400 * 20

                        possibilité 2:

                        si minutes strictement inférieur à 200
                          resultat <- minutes * 10
                        sinon si minutes strictement inférieur à 400
                          resultat <- 2000 + (minutes - 200) * 15
                        sinon
                          resultat <- 5000 + (minutes - 400) * 20




                        • Partager sur Facebook
                        • Partager sur Twitter
                        Censément, quelqu'un de sensé est censé s'exprimer sensément.

                        Calculer le nombre de minutes d'appel

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown