Partage
  • Partager sur Facebook
  • Partager sur Twitter

Exercices du cours Python / postez ici !

    17 novembre 2020 à 13:11:27

    Ça y est, tout est clair. J'ai fini par comprendre. Merci beaucoup!!

    -
    Edité par PhilippeLafargeas 17 novembre 2020 à 14:02:31

    • Partager sur Facebook
    • Partager sur Twitter
      17 novembre 2020 à 14:41:15

      Bonjour;

      je suis nouveau dans l'apprentissage et deja au premier programme je galère, il s'agit de l'exercice sur l'année bisextile

      annee= input("saisissez une annee :")

      annee=int(annee)

      if annee % 4 ==0:

      A la dernière ligne je reçoit un message d'erreur de la console" not all argument converted during string formatting

      quelqu'un pourrait-il m'éclairer?

      • Partager sur Facebook
      • Partager sur Twitter
        17 novembre 2020 à 17:15:35

        Tu es sûr que tu as bien la ligne annee=int(annee) ? Tu ne t'es même pas trompé dans un nom ?

        L'erreur telle que tu la décris et avec le morceau de code que tu donnes voudrait que annee soit une chaîne de caractères quand tu testes annee % 4 == 0.

        -
        Edité par entwanne 17 novembre 2020 à 17:15:49

        • Partager sur Facebook
        • Partager sur Twitter
          18 novembre 2020 à 11:35:47

          >>> a = 5
          >>> if a > 0: # Si a est positif
          ...    print("a est positif.")
          ... if a < 0: # a est négatif
          ...    print("a est négatif.") 
          cependant, message d'erreur quand je le réalise (version Python3.9)
          >>> a=2
          >>> if a > 0: # Si a est positif
          ...    print("a est positif.")
          ... if a < 0:
            File "<stdin>", line 3
              if a < 0:
              ^
          SyntaxError: invalid syntax
          >>>
          • Partager sur Facebook
          • Partager sur Twitter
            18 novembre 2020 à 11:47:39

            si tu tapes ça dans la console python, il faut appuyer sur entrée pour sortir/fermer la structure if (ou autre) précédente.
            • Partager sur Facebook
            • Partager sur Twitter
              18 novembre 2020 à 12:11:38

              Je n'ai pas ce soucis avec else ou elif, et j'avoue ne pas comprendre ta réponse si tu pouvais préciser stp
              • Partager sur Facebook
              • Partager sur Twitter
                18 novembre 2020 à 12:16:42

                le else et le elif font parties de la structure du if. Dans la console, pour "fermer" une structure (if..; if..else..; if..elif..else..; for...;while...; def...; etc) il faut appuyer sur entrée de manière à revoir le prompt de la console (>>>)

                si tu mets ton code dans un fichier .py (en passant par IDLE par exemple), il n'y aura pas ce type de "soucis"

                • Partager sur Facebook
                • Partager sur Twitter
                  19 novembre 2020 à 21:20:39

                  salut! j'espère que vous allez bien:D

                  il est préférable que j'utilise pycharm à la place du IDLE

                  j'ai écrit ce code dans pycharm et ça marchait bien 

                  le code:


                  espaces = ' ' *25
                  print('%s 12 rue du Homevent'%espaces)
                  print('%s Landes Scintillantes'%espaces)
                  print("%s Vent d'Ouest"%espaces)
                  print()
                  print()
                  print('cher Monsieur,')
                  print()
                  print('permettez-moi de vous signaler que des tuiles manquent')
                  print('sur le toit des toilettes du jardin.')
                  print("le vent de la nuit dernière les a faites s'envoler.")
                  print()
                  print('salutations')
                  print('Michel Line')

                  mais dans l'IDLE, ils m'ont affiché "syntax error: multiple statments foundwhile compiling a sindle statment"!!!!

                  merci d'avance^^

                  -
                  Edité par HindMorsaoui 19 novembre 2020 à 21:28:34

                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 novembre 2020 à 11:16:18

                    si tu fais un copier/coller du code dans la console IDLE, ça va donner cette erreur (IDLE ne sais pas interpréter plusieurs lignes à la fois), mais si tu les rentres une à une, ça va marcher, ou si tu les mets dans un fichier .py ou via une fonction.

                    def affiche():
                        espaces = ' ' *25
                        print('%s 12 rue du Homevent'%espaces)
                        print('%s Landes Scintillantes'%espaces)
                        print("%s Vent d'Ouest"%espaces)
                        print()
                        print()
                        print('cher Monsieur,')
                        print()
                        print('permettez-moi de vous signaler que des tuiles manquent')
                        print('sur le toit des toilettes du jardin.')
                        print("le vent de la nuit dernière les a faites s'envoler.")
                        print()
                        print('salutations')
                        print('Michel Line')
                    

                    puis affiche()



                    • Partager sur Facebook
                    • Partager sur Twitter
                      25 novembre 2020 à 14:33:11

                      Bonjour,

                      Je viens de débuter le cours "apprenez à programmer en Python". J'en suis au chapitre 6.

                      Je ne vois pas où sont les exercices dont vous parlez.

                      Quelqu'un peut me préciser où les trouver svp.

                      Merci d'avance

                      • Partager sur Facebook
                      • Partager sur Twitter
                        25 novembre 2020 à 15:07:52

                        umfred a écrit:

                        je ne vois que 5 parties dans ce cours https://openclassrooms.com/fr/courses/235344-apprenez-a-programmer-en-python o_O


                        Effectivement, je suis partie 1, chapitre 6.

                        Mais dans le lien que vous m'avez donné umfred, je découvre les exercices (je n'étais pas allé assez bas! :-()!! Merci

                        • Partager sur Facebook
                        • Partager sur Twitter
                          26 novembre 2020 à 11:05:18 - Message modéré pour le motif suivant : Merci d'utiliser le bouton code du forum pour insérer votre code


                            28 novembre 2020 à 17:49:03

                            SamyMeriem a écrit:

                            >>> a = 5
                            >>> if a > 0: # Si a est positif
                            ...    print("a est positif.")
                            ... if a < 0: # a est négatif
                            ...    print("a est négatif.") 
                            cependant, message d'erreur quand je le réalise (version Python3.9)
                            >>> a=2
                            >>> if a > 0: # Si a est positif
                            ...    print("a est positif.")
                            ... if a < 0:
                              File "<stdin>", line 3
                                if a < 0:
                                ^
                            SyntaxError: invalid syntax
                            >>>
                            Bonjour à tous,
                            même problème que Samy,
                            pour pouvoir faire deux boucles if il faut que j'indente l'une dans l'autre, ce qui il me semble, n'a pas la même signfication en logique informatique.
                            ce qui ressemble à peu pres à quelques chose comme cela.
                            >>> a = 5
                            >>> if a > 0: # Si a est positif
                            ...           print("a est positif.")
                            ...                if a < 0: # a est négatif
                            ...                     print("a est négatif.")
                            Bon week end à tous ;)
                            Antoine
                            • Partager sur Facebook
                            • Partager sur Twitter
                              30 novembre 2020 à 3:33:53

                              J'ai essayé sur Python 3.9 également.
                              C'est vrai que ça donne une erreur.
                              Si je tape Enter au lieu du second if, Python affiche correctement.
                              Si je met un else et un autre print, Python ne fait rien tant que je n'ai pas tapé Enter.
                              • Partager sur Facebook
                              • Partager sur Twitter

                              Le Tout est souvent plus grand que la somme de ses parties.

                                10 décembre 2020 à 5:05:55

                                Bonjours a tous , j'ai téléchargé emacs mais je n'arrive pas a créer un dossier avec .py

                                Quelqu'un pourrais me donner les étapes pour que je puisse continuer 

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  10 décembre 2020 à 5:43:45

                                  Salut,
                                  D'abord, c'est plus une question sur Linux que Python. Emacs est un éditeur de Linux, et pas le standard.
                                  Tu parles de dossier .py, ce serait plutôt un fichier.
                                  Pour créer un dossier, il faut utiliser la commande mkdir
                                  Tu peux créer un fichier .py avec la commande touch.
                                  Je ne vois pas pourquoi Emacs refuserait de créer le fichier, mais ça fait trop longtemps que je ne l'ai pas utilisé.
                                  PS Je suis sur Windows mais j'ai déjà travaillé sur Unix.
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Le Tout est souvent plus grand que la somme de ses parties.

                                    12 décembre 2020 à 22:07:24

                                    Bonjour , je sollicite votre aide pour un problème sur un probleme de creation d’une fiction récursive 

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      13 décembre 2020 à 1:49:03

                                      Quel est ton problème? As-tu du code à nous présenter pour illustrer ton problème?
                                      fiction"? Plutôt "fonction".
                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      Le Tout est souvent plus grand que la somme de ses parties.

                                        21 décembre 2020 à 19:02:22 - Message modéré pour le motif suivant : Merci d'utiliser le bouton code du forum pour insérer votre code


                                          21 décembre 2020 à 19:15:21

                                          a priori tu utilises le même nom de variables pour des choses différentes Fanta1 et Fanta2 sont une fois une StringVar() et ensuite (2 lignes en dessous) un entier qui identifie un OptionMenu. change le nom de la variable qui stocke l'identifiant de OptionMenu.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            21 décembre 2020 à 19:21:49

                                            par exemple ça:

                                            choix1=OptionMenu(convertisseur,Fanta1 , *Fanta).pack(),

                                            et même chose pour choix2

                                            Puis ducoup je peux remplacer base_départ=int(Fanta1.get().strip() 

                                            en mettant choix1 à la place de Fanta1 mais le problème c'est qu'il me réaffiche : 

                                              base_départ=int(choix1.get().strip())

                                            AttributeError: 'NoneType' object has no attribute 'get'

                                            -
                                            Edité par mistergauffreur 21 décembre 2020 à 19:31:56

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              22 décembre 2020 à 10:47:47

                                              non, pour récupérer le choix, il faut utiliser la StringVar définie soit Fanta1 et Fanta2 si tu ne les as pas changés

                                              http://tkinter.fdex.eu/doc/optmw.html 

                                              dans l'exemple donné, il faudra faire v.get() pour récupérer la valeur choisie

                                              listeOptions = ('train', 'avion', 'bateau')
                                              v = StringVar()
                                              v.set(listeOptions[0])
                                              om = OptionMenu(root, v, *listeOptions)
                                              
                                              choix=v.get() #on récupère la valeur texte du choix
                                              indice=listeOptions.index(choix) #on récupère l'indice correspondant dans la liste de création



                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                22 décembre 2020 à 12:36:28

                                                dans une de mes fonctions  qui convertit de décimale vers hexadécimal il n'y avait pas d'erreur juscequ'à que je la lance dans le code et il me dit qu'il y a une erreur sur la ligne avec le while car le signe > n'est pas approprié pour x . l'erreur qui apparaît c'est :"TypeError: '>' not supported between instances of 'str' and 'int' mais ducoup je sais qu'il me dise que ce n'est pas possible de mettre cela entre un str et un int et ce serait quoi?
                                                def dec_hexa(x):
                                                    r=0
                                                    liste=[]
                                                    while x>0:
                                                         r=x%16
                                                         if r==10:
                                                           r='A'
                                                         elif r==11:
                                                           r='B'
                                                         elif r==12:
                                                           r='C'
                                                         elif r==13:
                                                           r='D'
                                                         elif r==14:
                                                           r='E'
                                                         elif r==15:
                                                           r='F'
                                                        
                                                            
                                                         x=x//16
                                                         liste.append(str(r))
                                                    liste.reverse()
                                                    resultat=("".join(liste))
                                                    print(resultat)
                                                    return resultat
                                                

                                                -
                                                Edité par mistergauffreur 22 décembre 2020 à 13:05:00

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  22 décembre 2020 à 13:02:03

                                                  mistergauffreur a écrit:

                                                  le root c'est le nom de le fenêtre?


                                                  oui, sans doute, sinon c'est le composant qui contient l'optionmenu (ça peut être un canvas, une frame, ...)
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    22 décembre 2020 à 13:39:24

                                                    mistergauffreur a écrit:

                                                    dans une de mes fonctions  qui convertit de décimale vers hexadécimal il n'y avait pas d'erreur juscequ'à que je la lance dans le code et il me dit qu'il y a une erreur sur la ligne avec le while car le signe > n'est pas approprié pour x . l'erreur qui apparaît c'est :"TypeError: '>' not supported between instances of 'str' and 'int' mais ducoup je sais qu'il me dise que ce n'est pas possible de mettre cela entre un str et un int et ce serait quoi?

                                                    def dec_hexa(x):
                                                        r=0
                                                        liste=[]
                                                        while x>0:
                                                             r=x%16
                                                             if r==10:
                                                               r='A'
                                                             elif r==11:
                                                               r='B'
                                                             elif r==12:
                                                               r='C'
                                                             elif r==13:
                                                               r='D'
                                                             elif r==14:
                                                               r='E'
                                                             elif r==15:
                                                               r='F'
                                                            
                                                                
                                                             x=x//16
                                                             liste.append(str(r))
                                                        liste.reverse()
                                                        resultat=("".join(liste))
                                                        print(resultat)
                                                        return resultat
                                                    

                                                    Probablement que ta variable x récupère une chaîne et non un entier. Donc, en début de fonction, il faudrait écrire x=int(x). Au passage, ta fonction dec_hexa refait ce que la fonction Python standard hex fait.
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      22 décembre 2020 à 15:41:52

                                                      Salut,

                                                      Ta fonction ne convertit pas du décimal en hexadécimal, elle calcule la représentation hexadécimale d'un nombre. C'est peut-être là la source de ta confusion : la fonction reçoit un nombre en argument et renvoie une chaîne de caractères.

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        22 décembre 2020 à 16:55:04

                                                        Si tu as reconverti en int ta chaîne qui était en représentation décimale.
                                                        ton r%16 te donne donc un chiffre entre 0 et 15 inclus.
                                                        Il pourrait servir d'indice pour trouver le symbole hexadécimal comme suit:
                                                        digit="0123456789abcdef"[r]
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter

                                                        Le Tout est souvent plus grand que la somme de ses parties.

                                                          27 décembre 2020 à 21:58:26


                                                          Euh j'ai une question j'ai créer un programme calculatrice sur python mais j'ai envie qu'enfaite il y a une boucle
                                                          de 1 à 4 et que decque je met 5 sa me met "entrer votre premier nombre" à la place de au revoir


                                                          print
                                                          ("1 for addition\n2 for subtraction\n3 for multiplication\n4 for division\n5 for quitter")
                                                          number: int = int(input('Veillez entre votre type de calcul :'))
                                                          number1 = input('Entrer votre premier nombre :')
                                                          number2 = input('Entrer votre second nombre :')

                                                          while (number != 5):

                                                          if number == 1:
                                                          #print('{} + {} = '.format(number1, number2))
                                                          print(number1+number2)

                                                          elif number == 2:
                                                          #print('{} + {} = '.format(number1, number2))
                                                          print(number1 - number2)

                                                          elif number == 3:
                                                          #print('{} + {} = '.format(number1, number2))
                                                          print(number1 * number2)

                                                          elif number == 4:
                                                          #print('{} + {} = '.format(number1, number2))
                                                          print(number1/number2)

                                                          else:
                                                          number == 5
                                                          print("au revoir")
                                                          break
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            28 décembre 2020 à 1:29:13

                                                            ttD'abord, tu ne convertis pas tes nombre qui sont des chaînes avec input()
                                                            Il faut faire number1 = int(input("Entrez le premier nombre "))
                                                            Ensuite, ce n'est pas clair quel type de boucle tu veux faire.
                                                            Veux-tu toujour garder la même opération ou changer d'opération à chaque fois?
                                                            Ça pourrait ressembler à ceci:
                                                            while operation:=int(input("1 for addition, 2 ... Enter to terminate") or 0):
                                                             nombre1 = int(...)
                                                             nombre2 = int(...)
                                                             if operation == 1:   # Faire l'addition et l'afficher.
                                                             ...
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            Le Tout est souvent plus grand que la somme de ses parties.

                                                            Exercices du cours Python / postez ici !

                                                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                            • Editeur
                                                            • Markdown