Forum Programmation.python exercice en python3

Posté par . Licence CC by-sa.
Tags : aucun
-12
20
mai
2019

Bonjour à toutes et à tous, j'aimerai qu'on puisse m'aider sur un exercice en python, notamment les exercices 4 et 5 du fichier que j'ai déposé.
Merci infiniment de votre aide, en vous souhaitant une agréable journée.

https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=2ahUKEwj_grTSoKriAhUJ5uAKHcc5BCwQFjAAegQIBBAC&url=https%3A%2F%2Fmoodlesupd.script.univ-paris-diderot.fr%2Fmod%2Fresource%2Fview.php%3Fid%3D159976&usg=AOvVaw0C7DVc9wpUSFTG5OSIbnha

  • # Quelques liens pour t'aider

    Posté par . Évalué à 3 (+2/-0).

    Les personnes ne font pas les programmes à ta place

    Je t'invite donc à relire ton cours et à regarder les liens suivants :
    https://docs.python.org/3/
    https://www.tutorialspoint.com/python/python_strings.htm

    • [^] # Re: Quelques liens pour t'aider

      Posté par . Évalué à 2 (+1/-0). Dernière modification le 21/05/19 à 16:30.

      Bonjour, pour la question 3 de l'exercice 4, je n'arrive pas. Je vous montre ce que j'ai fait:

      def battage(s1,s2):
          max=0
          min=0
          if len(s1)<len(s2):
              max=s2
              min=s1
          else:
              max=s1
              min=s2
          b=len(s1)+len(s2)
          s=[0]*b
          for i in range(0,b,1):
              if i%2==0 and i<(len(min)-1)*2:
                  s[i]=s1[i//2]
              elif i<(len(min)-1)*2:
                  s[i]=s2[i//2]
              if i>(len(min)-1)*2:
                  for j in range(0,b-(len(min)-1)*2,1):
                      s[j+(len(min)-1)*2+1]=s2[6+j]
          print(s)
      print(battage("licence","informatique"))

      j'ai également fait ce programme:

      def battage(s1,s2):
          b=len(s1)+len(s2)
          s=[0]*b
          for i in range(0,b,1):
              if i<len(s1):
                  s[i]=s1[i]
                  s[i+1]=s2[i]
              elif i>=len(s1):
                  c=i
                  for j in range(0,b-c,1):
      
          print(s)
      print(battage("licence","informatique"))

      mais je n'arrive toujours pas.
      j'ai passé pas mal de temps et j'aimerai avoir de l'aide si possible.
      Bonne journée à vous.

      • [^] # Re: Quelques liens pour t'aider

        Posté par . Évalué à 2 (+0/-0).

        Salut,

        commençons par le début. Quand je lance ce programme, j’ai une erreur.

        def battage (s1,s2):
            max=0
            min=0
            if len(s1)(len(min)-1)*2:
                for j in range(0,b-(len(min)-1)*2,1):
                    s[j+(len(min)-1)*2+1]=s2[6+j]
            print(s)

        Mon interpréteur python n’aime pas la ligne :

            if len(s1)(len(min)-1)*2:

        Que cherches-tu as tester ?

        Peux-tu m’expliquer l’erreur suivante ?

        TypeError: object of type 'int' has no len()

      • [^] # Re: Quelques liens pour t'aider

        Posté par (page perso) . Évalué à 3 (+1/-0).

        Pour insérer du code dans tes messages il faut mettre une ligne blanche, trois "backtick" (attention, pas des guillemets simples) suivi de python , puis les lignes de code, puis trois backtick pour fermer (cf doc en bas de la page de rédaction). C'est particulièrement important en Python à cause de l'indentation significative.

        Exemple:

        def battage(s1,s2):
            max=0
            min=0
            if len(s1)(len(min)-1)*2: 
                for j in range(0,b-(len(min)-1)*2,1):
                    s[j+(len(min)-1)*2+1]=s2[6+j]
                    print(s)
        print(battage("licence","informatique"))

        Dans ton expression if, il y a un problème de syntaxe (opérateur manquant?), et de plus la fonction len() ne s'applique pas à des nombres entiers (il faut lui fournir une séquence en paramètre).

        def battage(s1,s2):
            b=len(s1)+len(s2)
            s=[0]*b
            for i in range(0,b,1):
                if i=len(s1):
                    c=i
                for j in range(0,b-c,1):
                    print(s)
        print(battage("licence","informatique"))

        Dans ton if, le test d'égalité c'est == en Python, pas =.

        (pub)

        Python 3 - Apprendre à programmer en Python avec PyZo et Jupyter Notebook → https://www.dunod.com/sciences-techniques/python-3

      • [^] # Re: Quelques liens pour t'aider

        Posté par . Évalué à 2 (+0/-0). Dernière modification le 21/05/19 à 17:18.

        Avec le reformatage du code, je comprends mieux.

        Le premier me semble un peu complexe pour le besoin. Je partirai donc du second. En faisant deux étapes :

        • Copie de 0 à len_min
        • Copie de len_min a len_max du reste.
  • # 65 euros de l'heure, tout heure commencée est due.

    Posté par . Évalué à 4 (+3/-1).

    Ca c'est si tu veux que je te le fasse, pour dans plus d'1 emaine.

    si tu veux pour un délai plus court, je double le tarif.

    Si c'est ppour demain, c'est x4.

  • # Pour être constructif…

    Posté par (page perso) . Évalué à 10 (+8/-0).

    Bienvenue sur LinuxFR.

    Les posts qui demandent directement la solution à un exo scolaire engendrent des réactions comme tu as pu le voir… on n'est pas là pour faire ton boulot à ta place.

    Par contre, indiques ce que tu as déjà fait sur ces exos, ce que tu tentes et là où tu coinces, alors tu auras probablement une aide qui te guide vers la solution et/ou t'indique là où tu fais fausse route.

    Python 3 - Apprendre à programmer en Python avec PyZo et Jupyter Notebook → https://www.dunod.com/sciences-techniques/python-3

    • [^] # Re: Pour être constructif…

      Posté par (page perso) . Évalué à 1 (+0/-0).

      Attention, à ne pas décourager trop vite ce type de message.

      La lecture des commentaires qui en résulte et souvent très intéressante :D

      • [^] # Re: Pour être constructif…

        Posté par (page perso) . Évalué à 1 (+0/-0).

        Je pense qu'au contraire il faut les décourager. Pas les messages qui demandent de l'aide, mais les messages disant "coucou voici un exercice je comprend rien donnez moi la réponse merci".

        Surtout quand ça vient de quelqu'un qui s'inscrit ici juste pour ça, on aimerait voir que la personne a essayé, ou qu'elle exprime clairement ce qu'elle ne comprend pas. Je trouve que les réponses ont été correctes dans l'ensemble, on lui a expliqué comment rédiger son message et comment demander de l'aide.

        Bref il ou elle aura appris ça, mais ça n'empêchera pas quelqu'un de revenir demain et faire pareil!

        Un LUG en Lorraine : https://enunclic-cappel.fr

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.