Partage
  • Partager sur Facebook
  • Partager sur Twitter

Exercices du cours Python / postez ici !

    23 juillet 2019 à 12:35:32

    C'est à toi de choisir lors des input les exemples que tu donnes à tester à ton programme. Donc essaie d'en utiliser qui entrent dans les différentes branches, par exemple : 2000, 1900, 2016 et 2019 (pour prendre les plus récentes de chaque catégorie).

    • Partager sur Facebook
    • Partager sur Twitter
      23 juillet 2019 à 12:55:14

      Elif : sinon...si

      Elif ferme une condition. OK c'est pas simple à expliquer en fait ^^

      Tu peux utiliser une succession de if, et dans ce cas il est possible qu'il y ait plusieurs solutions. Que plusieurs if soient validés.

      ex : 
      b,c,d = 0,0,0
      
      if a % 2 == 0 : 
      b = 1
      if a > 10 : 
      c = 1
      else : 
      d = 1
      
      Dans ce cas, plusieurs solutions sont possibles selon la valeur de ton a. Il peut à la fois être pair, et > 10.
      Donc b = 1
      c = 1
      d = 0
      

      Par contre, en utilisant elif, tu les fermes au fur et à mesure. 

      b,c,d = 0,0,0
      
      if a % 2 == 0 : 
      b = 1
      elif a > 10 : 
      c = 1
      else :
      d = 1
      
      Là, soit a est pair, soit il est supérieur à 10. elif ferme la condition  précédente.
      donc soit b = 1 et 0 pour c et d
      soit c = 1 et 0 pour b et d
      soit d = 1 et 0 pour b et c

      Voilà. Donc c'est selon ce que tu recherches dans ton programme.

      Je ne sais pas si j'ai été claire. J'espère :euh:

      • Partager sur Facebook
      • Partager sur Twitter
        23 juillet 2019 à 22:49:42

        Utilise la balise </> pour poster du code, plutôto qu'une capture d'écran (ce sont les règles du forum).

        DianeM a écrit:

        Par exemple, quel serait-il si on utilisait le boléen bissextile = True.

        Ici, c'est un peu maladroit d'initialiser la variable bissextile avec False, puisque de toute façon on redéfinit sa valeur après. Autrement dit, la valeur initiale n'a aucune importance.
        Je pense que le correcteur fait ça pour vous fixer dans l'idée des étudiants qu'on va manipuler une variable bissextile qui est booléen. Mais ça n'a aucun intérêt pour le programme.

        DianeM a écrit:

        Est-ce également possible de traiter le problème dans l'ordre de l'énoncé ?

        Oui bien sûr :
        if annee % 4 != 0:
          bissextile = False
        elif annee % 100 == 0:
          if annee % 400 == 0:
            bissextile = True
          else:
            bissextile = False
        else:
          bissextile = True

        Ce n'est pas forcément plus simple pour un débutant parce qu'on a des conditions à l'intérieur d'autres conditions. Mais c'est la traduction "mot à mot" de l'énoncé.

        DianeM a écrit:

        Je n'ai d'ailleurs pas compris l'utilisation ELIF dans cet exercice, quelqu'un pourrait me l'expliquer en "langage courant".

        • if veut dire "si"
        • else veut dire "sinon"
        • elif est un raccourci pour else if qui veut dire "sinon, si..."
        • Partager sur Facebook
        • Partager sur Twitter
          25 juillet 2019 à 12:38:53

          Bonjour, 

          Je ne comprends pas l'erreur. Quelqu'un pourrait- il m'aider ? 

          Merci d'avance

          >>> age = 21

          >>> if age>=18: # si age supérieur ou égal à 18

                 print("majeur")

              else: # Sinon (age inférieur à 18)

          SyntaxError: unindent does not match any outer indentation level

          • Partager sur Facebook
          • Partager sur Twitter
            25 juillet 2019 à 12:48:34

            Bonjour, 

            Il faudrait nous copier ton code entre les balises </> en cliquant sur le bouton avec ce dessin

            Sinon, ton message d'erreur est clair  : il s'agit d'une erreur d'indentation. 

            Ton code devrait ressembler à ça : 

            age = 18
            
            if age >= 18 :
                print("majeur")
            else :
                print("mineur")

            avec indentation en dessous du if et du else. 

            L'indentation, c'est le décalage par rapport au bord : normalement dans ton cas c'est 1 tabulation (ou 4 espaces)

            • Partager sur Facebook
            • Partager sur Twitter
              25 juillet 2019 à 17:42:09 - Message modéré pour le motif suivant : Merci de créer votre propre sujet


                26 juillet 2019 à 11:46:14

                Cher ou Chère Thia,

                je te remercie pour ton aide. Tout fonctionne à présent. ;-)

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


                  Ad augusta per angusta.

                    27 juillet 2019 à 17:51:56

                    Bonjour tout le monde,
                    Je viens de progresser dans mon cours Python. Voici mon programme qui a le but de créer une classe de dictionnaire ordonne.
                    N'hésitez pas à laisser des commentaires.
                    Excellente journée!!
                    class OrderedDict():
                        def __init__(self, data={}, **kwargs):
                            if data:
                                if type(data) in [dict, OrderedDict]:
                                    self.__keys = data.keys()
                                    self.__values = data.values()
                                elif type(data) is list:
                                    self.__keys = data[0]
                                    self.__values = data[1]
                    
                            elif kwargs:
                                self.__keys = kwargs.keys()
                                self.__values = kwargs.values()
                            else:
                                self.__keys = []
                                self.__values = []
                            self.__keys = list(self.__keys)
                            self.__values = list(self.__values)
                    
                        def __str__(self):
                            return '{' + ', '.join(map(': '.join, zip(self.__tl(self.__keys), self.__tl(self.__values)))) + '}'
                    
                        def __setitem__(self, key, value):
                            if key in self.__keys:
                                self.__values[self.__keys.index(key)] = value
                                return
                            self.__keys.append(key)
                            self.__values.append(value)
                    
                        def __getitem__(self, item):
                            if type(item) is str:
                                return dict(zip(self.__keys, self.__values))[item]
                            elif type(item) is int:
                                return dict([(self.__keys[item], self.__values[item])])
                    
                        def __delitem__(self, key):
                            del self.__values[self.__keys.index(key)]
                            self.__keys.remove(key)
                    
                        def __contains__(self, item):
                            return item in self.__keys
                    
                        def __iter__(self):
                            return self.__keys.__iter__()
                    
                        def __add__(self, other):
                            return OrderedDict([list(self.keys()) + list(other.keys()), list(self.values()) + list(other.values())])
                    
                        def __len__(self):
                            return len(self.__keys)
                    
                        def __dict__(self):
                            return dict(zip(self.keys(), self.values()))
                    
                        def __reversed__(self):
                            return OrderedDict([list(reversed(self.__keys)), list(reversed(self.__values))])
                    
                        def __mul__(self, other):
                            return OrderedDict([self.__keys * other, self.__values * other])
                    
                        def __rmul__(self, other):
                            return OrderedDict([self.__keys * other, self.__values * other])
                    
                        def __tl(self, liste):
                            return [repr(elt) if type(elt) is (str) else str(elt) for elt in liste]
                    
                        def sort(self):
                            self.__keys, self.__values = map(list, zip(*sorted(zip(self.__keys, self.__values))))
                    
                        def reverse(self):
                            self.__keys.reverse()
                            self.__values.reverse()
                    
                        def keys(self):
                            return self.__keys
                    
                        def values(self):
                            return self.__values
                    
                        def items(self):
                            return zip(self.__keys, self.__values)
                    
                        def extend(self, other):
                            self.__keys += other.keys()
                            self.__values += other.values()
                    
                        def clear(self):
                            self.__keys = []
                            self.__values = []
                    
                        def get(self, key):
                            return dict(self)[key]
                    
                        def pop(self, key):
                            i = self.__keys.index(key)
                            self.__keys.remove(key)
                            backup = self.__values[i]
                            del self.__values[i]
                            return backup
                    
                        def copy(self):
                            return OrderedDict(self)
                    
                        def __copy__(self):
                            return self.copy()
                    
                        @staticmethod
                        def fromkeys(keys, value):
                            return OrderedDict([keys, [value]*len(keys)])
                    • Partager sur Facebook
                    • Partager sur Twitter
                      29 juillet 2019 à 12:46:03

                      Bonjour à tous,

                      alors voila, je suis en train de me casser la tête sur l'ouverture des fichiers "txt" depuis mon prgm roboc.py, pour l'instant j'en suis que la donc pas encore de structure dans prgm ni de réel organisation. le soucis que je rencontre est le suivant :

                      voici mon prgm a l'heure actuelle :

                      fichier_carte "pointe" l'ouverture dans le dossier 'cartes' du n° de la carte sélectionnée afin d'en faire l'ouverture mais voici ce que me retourne python :

                      a savoir que si par contre je mets les fichiers  "txt" dans le dossier racine avec roboc.py là pas de pb il les ouvres... --'

                      voici mon arbo :

                      et dans 'cartes' on trouve :

                      j'arrive pas a voir ou est l'erreur ! help !!

                      -
                      Edité par Franck Belmin 29 juillet 2019 à 12:58:53

                      • Partager sur Facebook
                      • Partager sur Twitter
                        29 juillet 2019 à 15:25:26

                        Bonjour FranckBelmin

                        La solution est très simple, il suffit de remplacer cette ligne:

                        fichier_carte = open(os.listdir('cartes')[carte_selec], 'r')

                        par celle-ci :

                        fichier_carte = open('cartes/' + os.listdir('cartes')[carte_selec], 'r')

                        c'est tout simplement parce que 'os.listdir' ne retourne pas l'empacement complet d'un fichier mais seulemnt son nom

                        -
                        Edité par AminGuermazi 29 juillet 2019 à 15:29:47

                        • Partager sur Facebook
                        • Partager sur Twitter
                          29 juillet 2019 à 22:18:26

                          Bonsoir,

                          je bosse sur "Le Pendu" et j'en suis encore à la gestion du pickle.

                          On lance la fonction verif_scores(nom_joueur).

                          Mon code me semble correct mais je ne comprends pas pourquoi je n'arrive pas à lister le contenu de mon dictionnaire dans le fichier scores_file.

                          Voici mon code :

                          # -*-coding:Utf-8 -*
                          
                          import pickle
                          import os.path
                          
                          # Ajout du joueur à la suite du fichier
                          def ajout_joueur(nom_joueur, score):
                              score_joueur = {nom_joueur: 0}
                              with open('scores_file', 'ab') as scores:
                                  scores.write(pickle.dumps(score_joueur))
                          
                          # Check si le fichier existe
                          def verif_file(nom_joueur):
                          
                              sf = 'scores_file'
                              # si le fichier existe, on check si le joueur est présent dans le fichier
                              if os.path.isfile(sf):
                                  verif_joueur(nom_joueur)
                              # si le fichier n'existe pas, on créé le fichier avec le nom du joueur et le score 0
                              else:
                                  score_joueur = {nom_joueur: 0}
                                  with open('scores_file', 'wb') as scores:
                                      scores.write(pickle.dumps(score_joueur))
                          
                          # Check si le joueur est dans le fichier
                          def verif_joueur(nom_joueur):
                          
                              sf = 'scores_file'
                              with open(sf, 'rb') as scores:
                                  unpickler = pickle.Unpickler(scores)
                                  content = unpickler.load()
                                  for elem in content.keys():
                                      print(elem)
                                      # Si le joueur existe, on affiche le score
                                      if elem == nom_joueur:
                                          print("Bienvenue " + elem + ", votre score est de :", content[elem])
                                      # Si le joueur n'existe pas, on l'ajoute dans le fichier
                                      else:
                                          ajout_joueur(nom_joueur, 0)
                          
                          
                          def verif_scores(nom_joueur):
                          
                              verif_file(nom_joueur)
                          

                          el le problème est que ->

                                  for elem in content.keys():
                                      print(elem)
                          

                          n'affiche que le premier enregistrement.

                          Je ne vois pas où je pêche.

                          PS : il y a des valeurs de score à 0, mais c'était pour le test.

                          -
                          Edité par EmmanuelJean 29 juillet 2019 à 22:25:53

                          • Partager sur Facebook
                          • Partager sur Twitter
                            30 juillet 2019 à 11:24:45

                            Bonjour à tous,

                            alors voila, dans le cadre de la réalisation du TP "labyrinthe" de l'activité III, j'ai transformé la carte du fichiers TXT en suite de liste de la manière suivante :

                            #transformé chaque ligne de la carte en liste
                            print("labyrinthe en liste")
                            g = open('cartes/' + cartes[carte_selec], "r")
                            for line in g:
                                i = list(line)
                                print (i)

                            (le print c'est la que pour que je constate le résultat)

                            ce qui donne :

                            ['O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', '\n']
                            ['O', 'X', 'O', ' ', '.', ' ', 'O', ' ', ' ', ' ', ' ', 'O', ' ', '.', ' ', ' ', ' ', ' ', ' ', 'O', '\n']
                            ['O', '.', 'O', ' ', 'O', ' ', 'O', ' ', ' ', ' ', ' ', 'O', ' ', 'O', ' ', ' ', ' ', ' ', ' ', 'O', '\n']
                            ['O', ' ', 'O', ' ', 'O', ' ', 'O', ' ', ' ', ' ', ' ', 'O', ' ', 'O', ' ', ' ', ' ', ' ', ' ', 'O', '\n']
                            ['O', '.', 'O', ' ', 'O', ' ', '.', ' ', ' ', ' ', ' ', 'O', ' ', 'O', ' ', ' ', ' ', ' ', ' ', 'O', '\n']
                            ['O', ' ', 'O', ' ', 'O', ' ', 'O', 'O', 'O', 'O', 'O', 'O', ' ', 'O', ' ', ' ', ' ', ' ', ' ', 'O', '\n']
                            ['O', ' ', 'O', ' ', 'O', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'O', ' ', ' ', ' ', ' ', ' ', 'O', '\n']
                            ['O', ' ', 'O', ' ', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', ' ', ' ', ' ', ' ', ' ', 'O', '\n']
                            ['O', '.', 'O', ' ', '.', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'O', ' ', ' ', ' ', ' ', ' ', 'O', '\n']
                            ['O', ' ', 'O', ' ', 'O', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'O', ' ', ' ', ' ', ' ', ' ', 'O', '\n']
                            ['O', ' ', 'O', ' ', 'O', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'O', ' ', ' ', ' ', ' ', ' ', 'O', '\n']
                            ['O', ' ', 'O', '.', 'O', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'O', ' ', ' ', ' ', ' ', ' ', 'O', '\n']
                            ['O', '.', 'O', ' ', '.', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'O', ' ', ' ', ' ', ' ', ' ', 'O', '\n']
                            ['O', ' ', 'O', ' ', 'O', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'O', ' ', ' ', ' ', ' ', ' ', 'O', '\n']
                            ['O', ' ', 'O', ' ', 'O', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'O', ' ', ' ', ' ', ' ', ' ', 'O', '\n']
                            ['O', ' ', 'O', ' ', 'O', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'O', ' ', ' ', ' ', ' ', ' ', 'O', '\n']
                            ['O', ' ', 'O', ' ', 'O', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'O', ' ', ' ', ' ', ' ', ' ', 'O', '\n']
                            ['O', '.', 'O', ' ', 'O', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'O', ' ', ' ', ' ', ' ', ' ', 'O', '\n']
                            ['O', ' ', ' ', ' ', 'O', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'O', ' ', ' ', ' ', ' ', ' ', 'U', '\n']
                            ['O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O']

                            ma question est la suivante:

                            comment modifier ma petite "formule" pour qu'a chaque liste créée Python y attribue une valeurs du type alphanumérique ? l'objectif

                            étant de pouvoir ensuite jouer sur la valeurs numérique afin de déplacer mon robot ('X') d'une ligne [liste] à l'autre. j'ai beau relire les cours et

                            me casser la tête rien a faire je trouve pas... De plus j'ai constaté que lors de l'exploitation de cette suite de liste Pytho ne prend en compte que la première. DAMNED !





                            • Partager sur Facebook
                            • Partager sur Twitter
                              30 juillet 2019 à 13:00:21

                              @Franck Belmin

                              Déjà, à mon avis, il serait judicieux d'enfermer toutes tes listes (lignes) dans une liste.

                              pour avoir un truc du genre

                              [['O',' ','.'],['O','O','.'],etc...]

                              Ensuite les valeurs numériques....pas la peine de les ajouter, tu les as déjà.

                              Ce qui a de bien avec les listes, c'est qu'il y a des indices :)

                              Donc par exemple la position de ton robot ce sera 

                              labyrinthe[x][y]

                              avec x l'indice de ta ligne (attention ça commence à 0 n'oublie pas) et y la position du caractère recherché DANS la ligne




                              • Partager sur Facebook
                              • Partager sur Twitter
                                30 juillet 2019 à 13:07:46

                                Thia, merci pour ce bon en avant !

                                je vais revoir ma copie de suite et travaillé a partir de ce que tu viens de me donné.

                                merci encore pour tout ^^

                                MAJ :

                                ca marche au poil ^^ merci encore Thia ;)

                                -
                                Edité par Franck Belmin 1 août 2019 à 2:25:10

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  31 juillet 2019 à 15:21:38

                                  Bonjour à tous,

                                  C'est mon premier post et Je débute en Python ;-)

                                  Je viens d'écrire le programme ci-dessous permettant de déterminer si une année est bissextile ?

                                  e programme fonctionne mais malheureusement pour certaines années il se trompe (du moins celui qui l'a écrit ...).

                                  En 1996 par exemple, l'année est bissextile mais le code me répond que non.

                                  J'ai le sentiment que c'est la variable d'initialisation qui pose problème.

                                  Quand j'écris anne_bissextile = True ça marche

                                  mais si j'initialise par annee_bissextile = False en 1996 ça me met une année non bissextile.

                                  Merci par avance pour votre aide.

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    1 août 2019 à 2:16:10

                                    Salut Zouhir,

                                    je me souviens de cet exercice, pour ma part je n'avais pas fait d'alternance "elif" et "if", je n'avais fait qu'un seul if suivi d'une série de elif puis un else final. J'ai peur de ne pas être assez matheux pour descellé l'erreur dans ton pgm malheureusement mais j’espère que ce que je viens de te dire va pouvoir t'aider.

                                    bonne continuation !



                                    -
                                    Edité par Franck Belmin 1 août 2019 à 2:24:10

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      1 août 2019 à 19:54:18

                                      Salut à tous,

                                      j'essaye de programmer un solveur de mots de scrabble et j'ai deux questions (et oui !!!).

                                      Primo: est-ce qu'il y a la possibilité d'avoir tous les mots Français d'un coup ou il faut tous les chercher sur google?

                                      Deuzio: en utilisant le module Tkinter sous Windows, comment faire pour modifier la couleur d'une seule lettre d'une chaine de caractères? 

                                      Merci d'avance pour vos réponses sur le forum ou en MP

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        3 août 2019 à 13:09:02

                                        Bonjour MasterJupiter

                                        Pour ta première question j'ai surfé un peu sur google et voila que j'ai pu trouver ces deux :

                                        • ICI : Les verbes avec leurs conjugaisons 
                                        • ICI : Les Noms

                                        Pour la deuxième, je ne sais pas trop, mais je crois que ce lien peut un peu t'aider.

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          8 août 2019 à 16:02:30

                                          Bonjour,

                                          Je suis sur le TP labyrinthe et il y a un truc que je ne comprend pas : il est dit ceci:


                                          Les symboles utilisés sont O pour un mur, . pour une porte (sur laquelle le robot peut passer), U pour la sortie et X pour le robot lui-même ;


                                          Hors quand on prend les 2 cartes données en exemple on a un truc assez ambiguë:

                                          Exemple:

                                          OOOOOOOOOOOO

                                          O                         O

                                          O OO . OOO     OOO

                                          Si on suit les instructions "." est une porte, "O" est un mur, tres bien dans ce cas que que représente un/des espace " " ?
                                          Si on ne peut passer que par les portes "." pourquoi la 3eme ligne n'a pas cette représentation:

                                          OOO . OOOOOOOO

                                          Merci


                                          -
                                          Edité par JRrrrr 8 août 2019 à 16:05:05

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            8 août 2019 à 16:42:00

                                            Bonjour, 

                                            Les espaces, on peut les passer, sans problèmes.

                                            Pour l'instant, dans le déplacement du robot, il n'y a pas de différence entre les portes et les espaces, ils se passent pareil.

                                            Bientôt, tu devras faire une version améliorée, et à ce moment-là tu comprendra qu'il était important qu'il y ait une distinction 

                                            -
                                            Edité par Thia 8 août 2019 à 16:42:35

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              11 août 2019 à 5:27:49

                                              Bonsoir 

                                              Aufaite j'ai une version portable de python installer sur ma clé usb, mais j'arrive pas l'ancer certains de mes programme à partir de la cmd intégré dans le programme voici l'erreur qui s'affiche """Fatal error in launcher: Unable to create process using '"i:\portable python-3.7.4\app\python\python.exe"  "F:\Portable Python-3.7.4\App\Python\Scripts\django-admin.exe" '"""

                                              Merce!

                                              • Partager sur Facebook
                                              • Partager sur Twitter

                                              En cour

                                                12 août 2019 à 2:40:44

                                                Bonjour, tout le monde.

                                                J'ai une petite préoccupation, les exemples dans la vidéo ne correspondent pas avec celui du cours pour la partie fonctions!

                                                De plus, le code ne marche pas pour moi!

                                                Si quelqu'un pourrait m'aider j'en serais vraiment ravie.

                                                Merci d'avance!

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  13 août 2019 à 13:58:10

                                                  FakyKane a écrit:

                                                  J'ai une petite préoccupation, les exemples dans la vidéo ne correspondent pas avec celui du cours pour la partie fonctions!

                                                  Qu'est-ce qui ne correspond pas ? En quoi est-ce gênant pour toi ?

                                                  FakyKane a écrit:

                                                  Si quelqu'un pourrait m'aider j'en serais vraiment ravie.

                                                  Oui, mais t'aider à faire quoi ?

                                                  FakyKane a écrit:

                                                  De plus, le code ne marche pas pour moi!

                                                  Qu'est-ce qui ne marche pas ? Quelle est l'erreur qui s'affiche ?


                                                  @ZouhirOUMEDJKANE

                                                  À première vue ton code est pas mal mais dans ton code et ton post tu as 3 orthographes différentes de la même variable :

                                                  annee_bissextile
                                                  annee_bisextile
                                                  anne_bisextile

                                                  L'erreur vient évidemment de là.

                                                  À part ça, ne fais pas deux fois des tests équivalents.
                                                  Si a % 4 == 0 est faux, alors a % 4 != 0 est vrai. Ne fais pas ces deux tests ; fais-en un, puis utilise le mot-clé else :

                                                  if a % 4 != 0:
                                                      annee_bissextile = False
                                                  else:
                                                      if a % 100 == 0:
                                                          ...

                                                  Ensuite, écrire "else" et "if" à la suite peut en général se raccourcir par "elif" :

                                                  if a % 4 != 0:
                                                      ...
                                                  elif a % 100 != 0:
                                                      ...
                                                  elif a % 400 != 0:
                                                      ...
                                                  

                                                  -
                                                  Edité par Zachee54 13 août 2019 à 14:07:01

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    14 août 2019 à 19:33:08

                                                    Bonjour tout le monde!!

                                                    Je viens de réaliser l'exercice du casino et voici mon code. Je n'ai utilisé des exceptions  ni enregistré les gagnes ou pertes de l'utilisateur

                                                    import os
                                                    import random
                                                    i=1
                                                    while i==1:
                                                     try :
                                                     numeroClient=int(input("Rentrez un numéro entre 0 et 49 pour jouer: "))
                                                     pari=float(input("Combien désirez-vous parier?: "))
                                                     numeroGagnant = random.randint(0,49)
                                                     print("Le numéro gagnant c'est le: ", numeroGagnant, ".")
                                                     if numeroGagnant == numeroClient :
                                                      print("Felicitacions, vous avez gagné! vous allez recevoir: ",pari*3,"€")
                                                     if numeroClient%2==0 and numeroGagnant%2==0:
                                                        print("Vous avez choisi la même couleur gagnante, vous recevez:  ", pari/2, "€")
                                                     elif numeroClient%2!=0 and numeroGagnant%2!=0:
                                                        print("Vous avez choisi la même couleur gagnante, vous recevez:  ", pari/2, "€")
                                                     else:
                                                         print("Vous avez perdu.")
                                                     
                                                     i=int(input("Désirez-vous jouer à nouveau? 1.Oui   2.Non : "))
                                                    
                                                    os.system("pause")



                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      15 août 2019 à 11:12:57

                                                      Tu ne l'as pas testé n'est-ce pas ?
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter

                                                      typage structurel ftw

                                                        16 août 2019 à 20:52:41

                                                        @digammaF oui, je l'ai testé et il marche pour moi.  t'as rencontré des soucis?
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          17 août 2019 à 0:38:13

                                                          Et bien je ne sais pas si c'est le copier-coller qui a raté mais l'indentation n'est pas bonne. Mais même en rectifiant l'indentation, le try qui se ballade tout seul ça ne peut pas exister sans une clause except, sous peine de provoquer une SyntaxError. Je ne sais pas dans quelle situation tu l'as testé mais il est curieux que ça marche pour toi.

                                                          En retirant le try, en effet pas de problème, bien que d'un point de vue gameplay évidement c'est pas top.

                                                          -
                                                          Edité par digammaF 17 août 2019 à 0:41:11

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

                                                          typage structurel ftw

                                                          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