Partage
  • Partager sur Facebook
  • Partager sur Twitter

Invalid Syntax : deux points après elif

Invalid Syntax : deux points après elif

Sujet résolu
    21 décembre 2016 à 14:48:14

    Bonjour, j'ai un problème avec mon code, je travaille sur un exercice sur le chiffre de Vigenère et j'obtient une erreur de syntaxe sur ce code:

    def code(ch,cle)

        if (len(ch)%len(cle))==0:

            clé=(len(ch)//len(cle))*cle

            print(len(cle))

            print(len(ch))

            print(len(clé))

        elif:

            clé=(((len(ch)//len(cle)))*cle)

            difference=len(ch)-len(clé)

            print(len(cle))

            print(len(ch))

            print(len(clé))

            print(difference)

        for k in range(0,difference):

            clé=clé+cle[k]

            difference=len(clé)-len(ch)

            print(len(cle))

            print(len(ch))

            print(len(clé))

            print(difference)

        print(ch)

        print(clé)

    ce qui est bizarre c'est que si je remplace le elif par else je n'ai plus d'erreur mais je ne comprend pas pourquoi. Pouvez vous m'aider merci d'avance !

    • Partager sur Facebook
    • Partager sur Twitter
      21 décembre 2016 à 14:54:28

      Bonjour 

      elif doit être suivi d'une condition, comme if

      • Partager sur Facebook
      • Partager sur Twitter
        21 décembre 2016 à 15:19:30

        merci je suis passé de else a elif sans réfléchir merci bcp !
        • Partager sur Facebook
        • Partager sur Twitter
          21 décembre 2016 à 15:26:15

          J'ai un nouveau problème voici mon code:

          def code_vigenere(ch,cle):

              mcode=""

              if (len(ch)%len(cle))==0:

                  clé=(len(ch)//len(cle))*cle

                  print(len(cle))

                  print(len(ch))

                  print(len(clé))

                  print(ch)

                  print(clé)

                  for i in range(0,len(ch)):

                      mcode=mcode+chr(ord(ch[i]+clé[i]))

                  print(mcode)

          lorsque je le test j'obtient:

          code_vigenere("ANTICONSTITUTIONNELLEMEN","ROUE")

          4

          24

          24

          ANTICONSTITUTIONNELLEMEN

          ROUEROUEROUEROUEROUEROUE

          Traceback (most recent call last):

            File "<pyshell#103>", line 1, in <module>

              code_vigenere("ANTICONSTITUTIONNELLEMEN","ROUE")

            File "C:/Users/Ayoub Lasri/Desktop/Ayoub Lasri BACKUP.py", line 91, in code_vigenere

              mcode=mcode+chr(ord(ch[i]+clé[i]))

          TypeError: ord() expected a character, but string of length 2 found

          Si qqun peut me fournir une aide je lui en serait reconnaissant merci d'avance !

          -
          Edité par Pyrizer 21 décembre 2016 à 16:04:54

          • Partager sur Facebook
          • Partager sur Twitter
            21 décembre 2016 à 16:10:17

            Poste ton code en utilisant les balises prévues, sinon ça ne donne pas envie de t'aider !

            Pour ton erreur, c'est explicite si tu veux le code qui représente ton caractère il faut que tu donnes seulement un caractère et non deux....

            -
            Edité par Superbowy 21 décembre 2016 à 16:12:30

            • Partager sur Facebook
            • Partager sur Twitter

            Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie.

              21 décembre 2016 à 16:12:52

              que voulez vous dire par balises ? merci

              Merci de l'aide je pensais que ord allait en qque sorte être distribue sur les deux termes merci encore !

              -
              Edité par Pyrizer 21 décembre 2016 à 16:16:57

              • Partager sur Facebook
              • Partager sur Twitter
                21 décembre 2016 à 16:17:20

                Lorsque tu écris ton message il y a des boutons juste au dessus de la zone de texte destinée a rédiger le message dont un qui permet l'insertion de code
                • Partager sur Facebook
                • Partager sur Twitter

                Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie.

                  21 décembre 2016 à 16:21:53

                  d'accord merci bcp

                  -
                  Edité par Pyrizer 21 décembre 2016 à 16:22:29

                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 décembre 2016 à 16:24:28

                    Et si ton problème est résolu met le sujet en résolu avec le bouton en haut en droite pour d'autres qui auraient le même merci pour eux
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie.

                    Invalid Syntax : deux points après elif

                    × 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