Partage
  • Partager sur Facebook
  • Partager sur Twitter

Exercice et algorithm

    13 mai 2020 à 15:17:47

    SVP répondez MOI >_<:'(
    • Partager sur Facebook
    • Partager sur Twitter

    le code FAIT le bonheur (pour moi en tous cas)

      13 mai 2020 à 18:40:47

      La syntaxe de ton pseudo-langage est équivoque:
      -
      a = 2  #definir a 2
      print(a)  #afficher a
      if a == 2:  # ... si a == 2
          print(a)  #    afficher 2
      a += 2  #a -> +2
      print(a)  #afficher a
      a = abs(a)  # s'il existe une telle fonction, a -> abs
      def A():  #fonction  A():
          b = 8  #    definir b 8
          return b  #    renvoyer b
      def B(i):  #fonction B(i):
          # on doit placer le global avant l'utilisation
          globals e  #    globals e
          e = 5  #    definir e 5
          print(i)  #    afficher i
      print(e)  #afficher e << affiche e
      print(A()  #afficher A
      B(9)  # B 9

      -
      Et voici le résultat:
      -
      2
      2
      4
      Traceback (most recent call last):
        File "as.py", line 17, in <module>
          print(e)  #afficher e << affiche e
      NameError: name 'e' is not defined
      -
      On ne peut pas afficher 'e' avant de l'avoir défini.
      • Partager sur Facebook
      • Partager sur Twitter

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

        13 mai 2020 à 19:09:32

        oui c'est vrais :pmais le but c'est pas de le convertire mais de le coder:colere2:

        -
        Edité par Le programmeur solitaire 13 mai 2020 à 19:09:45

        • Partager sur Facebook
        • Partager sur Twitter

        le code FAIT le bonheur (pour moi en tous cas)

          14 mai 2020 à 0:50:15

          Veux-tu dire qu'on doit écrire un interprète pour ton langage?
          Si c'est le cas, il nous faudrait la syntaxe complète de ce langage.
          Sinon, il faut me donner la différence entre "traduire" et "coder".
          • Partager sur Facebook
          • Partager sur Twitter

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

            14 mai 2020 à 8:31:56

            daccord la voila:

            definir a [8,8,2,1,9]
            si 8 dans a alors:
                afficher a[0]
            sinon si 2 dans a alors:
                afficher a[2]
            importer test
            executer test
            afficher test['a'] << utilise la variable a du ficher test 
            definir b {"code":8,"pass":2}
            afficher b["code"]
            fonction B(i):
                afficher i
            definir c ouvrir "monfichier.txt"
            écrire c "bonjour"
            ajouter c " le"
            ajouter c " monde"
            definir j lire c
            afficher "le text est #" # j
            classe A:
                fonction init (nom):
                    definir A.nom  nom
                fonction surcharge: afficher():
                    returner A.nom
                fonction surcharge: B(i):
                    renvoyer A.nom
                fonction affiche():
                     afficher A
            definir w A "coucou"
            afficher w
            afficher w.nom
            B w



            • Partager sur Facebook
            • Partager sur Twitter

            le code FAIT le bonheur (pour moi en tous cas)

              14 mai 2020 à 14:56:49

              Tu nous renvoies un autre exercice. Si tu nous expliquais le but de ces exercices.
              C'est écrit dans un pseudo-code qui ne s'applique pas forcément à Python.
              • Partager sur Facebook
              • Partager sur Twitter

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

                14 mai 2020 à 15:10:44

                c'était un example de mini langage. le but c'est de faire un langage interprète en python:pirate:

                -
                Edité par Le programmeur solitaire 14 mai 2020 à 15:14:12

                • Partager sur Facebook
                • Partager sur Twitter

                le code FAIT le bonheur (pour moi en tous cas)

                  16 mai 2020 à 8:56:29

                  il y a quelqu'un?o_O
                  • Partager sur Facebook
                  • Partager sur Twitter

                  le code FAIT le bonheur (pour moi en tous cas)

                    16 mai 2020 à 9:16:08

                    Sans moi.
                    • Partager sur Facebook
                    • Partager sur Twitter

                    "il vaut mieux vivre en France qu'en Italie, la France a de plus jolies prisons"

                      16 mai 2020 à 12:58:55

                      pourquoi ? c'est trop dure sinon j'ai un autre exercice: le but est de de faire sa propre vie en mode POO:

                      pers1=Personne(age=24,sexe="homme",nom="David",prenom="Jean")
                      print(pers1)
                      pers1.SetAge(34)
                      bouleau1 = Travail(nom="dentiste")
                      print(bouleau1.GetNom())
                      pers1.AddTravail(bouleau1,argent=700)
                      ville1 = Ville(nom="Paris")
                      pays1 = Pays(nom="France")
                      ville1.SetNom("Lion")
                      pers1.AddPays(pays1)
                      pers1.AddVille(ville1,in=pers1.GetPays()) #indique que la ville est dans le pays
                      rue1 = Rue(nom="nation",type="place")
                      pers1.AddRue(rue1,in=pers1.GetVille())
                      pers1.Décrire()
                      

                      et la sortie:

                      Personne(age=24,sexe="homme",nom="David",prenom="Jean")
                      dentist
                      Jean David(homme) a comme travail dentist et il gagne 700€
                      il est dans la ville "Lion" pour l'instant et aussi dans le pays "France" et dans la place nation et il a 34 ans.  



                      -
                      Edité par Le programmeur solitaire 16 mai 2020 à 13:06:44

                      • Partager sur Facebook
                      • Partager sur Twitter

                      le code FAIT le bonheur (pour moi en tous cas)

                        16 mai 2020 à 13:10:05

                        Le programmeur solitaire a écrit:

                        il y a quelqu'un?o_O


                        Sans moi aussi. Il faut poser un problème avec l'expression des besoins. Sans ces besoins, inutiles de proposer des exercices.

                        L'analyse grammaticale du langage n'est pas présent, pour moi c'est éliminatoire !

                        Si tu veux des infos là dessus, tu peux aller voir du côté de ce site.

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
                        La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

                          16 mai 2020 à 14:10:49

                          Un dentiste qui gagne 700€ ... Amha il ne déclare pas tout.
                          • Partager sur Facebook
                          • Partager sur Twitter

                          "il vaut mieux vivre en France qu'en Italie, la France a de plus jolies prisons"

                            16 mai 2020 à 14:38:11

                            josmiley a écrit:

                            Un dentiste qui gagne 700€ ... Amha il ne déclare pas tout.

                            Chut! Faut'pas le dire qu'il pourrait avoir une dent contre nous :lol:



                            • Partager sur Facebook
                            • Partager sur Twitter
                            • J'aime les bananes, le python, le gnu, le pingouin.
                              • Vive le libre !
                              17 mai 2020 à 10:13:19

                              ceci est un example, le but de cette exercice est de s'améliorer dans la POO
                              • Partager sur Facebook
                              • Partager sur Twitter

                              le code FAIT le bonheur (pour moi en tous cas)

                                17 mai 2020 à 11:30:24

                                Le programmeur solitaire a écrit:

                                ceci est un example, le but de cette exercice est de s'améliorer dans la POO


                                Mais là c'est trop simple ... Faut que cela soit pas trop simple, pas trop compliqué, pas trop long à coder, et que sur le coup ça ait l'air un peu utile tout en restant absolument inutile. Par exemple, au hasard, coder un jeu du "plus ou moins" sans utiliser "if". Vraiment au hasard car honnêtement je ne sais même pas si c'est faisable.

                                edit:

                                bon ben finalement c'est faisable ...

                                from random import randint
                                m,n = randint(1,100),0
                                while n!= m: n = int(input(n and 'le nombre a trouver est '+('plus petit','plus grand')[n<m]+'\nessaye encore : ' or 'un chiffre entre 1 et 100 : '))
                                print('bravo !')
                                

                                -
                                Edité par josmiley 17 mai 2020 à 13:24:18

                                • Partager sur Facebook
                                • Partager sur Twitter

                                "il vaut mieux vivre en France qu'en Italie, la France a de plus jolies prisons"

                                  17 mai 2020 à 14:28:48

                                  bon dacore une fois c'est trop dure une fois  c'est trop facile.:lol:

                                  pff.. je n'arrive pas a équilibrer ;)bon j'ai encore un autre exercice qui est un jeu:

                                  1er niveau:

                                  le but c'est de faire un othelos sans IA et sans utiliser la POO pour ceux qui ne connaissent pas les regles du jeux les voici

                                  2eme niveau:

                                  la meme chose que le niveau1 mais avec une IA

                                  3eme niveau:

                                  meme chose que le 2eme niveau en mode graphique

                                  edit:

                                  josmiley a écrit:

                                  Le programmeur solitaire a écrit:

                                  ceci est un example, le but de cette exercice est de s'améliorer dans la POO


                                  Mais là c'est trop simple ... Faut que cela soit pas trop simple, pas trop compliqué, pas trop long à coder, et que sur le coup ça ait l'air un peu utile tout en restant absolument inutile. Par exemple, au hasard, coder un jeu du "plus ou moins" sans utiliser "if". Vraiment au hasard car honnêtement je ne sais même pas si c'est faisable.

                                  edit:

                                  bon ben finalement c'est faisable ...

                                  from random import randint
                                  m,n = randint(1,100),0
                                  while n!= m: n = int(input(n and 'le nombre a trouver est '+('plus petit','plus grand')[n<m]+'\nessaye encore : ' or 'un chiffre entre 1 et 100 : '))
                                  print('bravo !')
                                  

                                  -
                                  Edité par josmiley il y a environ 1 heure

                                  voila comment ce passer de if:

                                  a = 7
                                  b = 6
                                  try:
                                      assert a < b
                                  except AssertionError:
                                      print('a est plus grand que b')
                                  else:
                                      print('a est plus petit que b')   

                                  et affiche :

                                  a est plus grand que b





                                  -
                                  Edité par Le programmeur solitaire 17 mai 2020 à 15:55:48

                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  le code FAIT le bonheur (pour moi en tous cas)

                                    17 mai 2020 à 16:52:40

                                    Le programmeur solitaire a écrit:

                                    voila comment ce passer de if:

                                    a = 7
                                    b = 6
                                    try:
                                        assert a < b
                                    except AssertionError:
                                        print('a est plus grand que b')
                                    else:
                                        print('a est plus petit que b')   

                                    et affiche :

                                    a est plus grand que b

                                    ha ben si on utilise le brute force ...

                                    sinon othello niveau 1 c'est déjà + intéressant ... j'y réfléchis.

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    "il vaut mieux vivre en France qu'en Italie, la France a de plus jolies prisons"

                                      17 mai 2020 à 17:59:15

                                      @Le programmeur solitaire:
                                      > voila comment ce passer de if:
                                      Parce que le 'assert' n'est pas un 'if' déguisé?
                                      Ce truc me semble beaucoup moins efficace que le 'if' lui-même.
                                      • Partager sur Facebook
                                      • Partager sur Twitter

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

                                        17 mai 2020 à 18:44:11

                                        PierrotLeFou a écrit:

                                        @Le programmeur solitaire:
                                        > voila comment ce passer de if:
                                        Parce que le 'assert' n'est pas un 'if' déguisé?
                                        Ce truc me semble beaucoup moins efficace que le 'if' lui-même.


                                        en fait le while est aussi un if déguisé ...

                                        voici donc le jeu du 'plus ou moins' sans if ni boucle, et je suis assez fier de moi ^^

                                        from random import randint
                                        m = randint(1,100)
                                        foo = lambda n: n!= m and foo(int(input(n and 'le nombre a trouver est '+('plus petit','plus grand')[n<m]+'\nessaye encore : ' or 'un chiffre entre 1 et 100 : ')))
                                        foo(0)
                                        print('bravo !')
                                        



                                        -
                                        Edité par josmiley 17 mai 2020 à 18:45:09

                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        "il vaut mieux vivre en France qu'en Italie, la France a de plus jolies prisons"

                                          17 mai 2020 à 18:45:19

                                          @josmiley: merci pour le petit jeu du plus ou moins en 4 lignes
                                          Dans les cours, on ne nous apprend pas à tout mettre sur une ligne. On insiste sur l'indentation.
                                          Je fais justement partie de ces tordus qui essaient de tout mettre sur une ligne ...
                                          Amusant l'astuce d'utiliser une condition comme indice ( [n<m] )
                                          On s'est croisé, je vais regarder ton nouveau code.
                                          Là aussi, il y a un 'if' déguisé. Bravo pour ce nouvel essai! Je vais l'essayer.
                                          Pas chanceux, mon nombre caché était 100 ...

                                          -
                                          Edité par PierrotLeFou 17 mai 2020 à 18:58:57

                                          • Partager sur Facebook
                                          • Partager sur Twitter

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

                                            17 mai 2020 à 18:57:05

                                            PierrotLeFou a écrit:

                                            @Le programmeur solitaire:
                                            > voila comment ce passer de if:
                                            Parce que le 'assert' n'est pas un 'if' déguisé?
                                            Ce truc me semble beaucoup moins efficace que le 'if' lui-même.


                                            C'est surtout que le assert c'est pour le debug, en prod, on les vire avec l'option -O si mes souvenirs sont bons.

                                            Ça n'a donc pas d'équivalence avec le if et ce n'est pas le même objectif final. C'est voué à disparaître une fois le code solide et prêt pour être en production.

                                            • Partager sur Facebook
                                            • Partager sur Twitter

                                            Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
                                            La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

                                              17 mai 2020 à 19:07:04

                                              fred1599 a écrit:

                                              PierrotLeFou a écrit:

                                              @Le programmeur solitaire:
                                              > voila comment ce passer de if:
                                              Parce que le 'assert' n'est pas un 'if' déguisé?
                                              Ce truc me semble beaucoup moins efficace que le 'if' lui-même.


                                              C'est surtout que le assert c'est pour le debug, en prod, on les vire avec l'option -O si mes souvenirs sont bons.

                                              Ça n'a donc pas d'équivalence avec le if et ce n'est pas le même objectif final. C'est voué à disparaître une fois le code solide et prêt pour être en production.

                                              Donc, une fois le 'assert' disparu, il nous faut encore le 'if' ou l'équivalent.

                                              C'est un joli truc pour tester les possibilités, mais pas plus.

                                              Comme tu l'as dit, le 'assert' ça sert pour le debug.

                                              • Partager sur Facebook
                                              • Partager sur Twitter

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

                                                17 mai 2020 à 19:15:38

                                                désolé de squatter le fil ^^

                                                mais 3 lignes, fallait que je le poste :D

                                                from random import randint
                                                foo = lambda n,m: n!= m and foo(int(input(n and 'le nombre a trouver est '+('plus petit','plus grand')[n<m]+'\nessaye encore : ' or 'un chiffre entre 1 et 100 : ')),m)
                                                print(foo(0,randint(1,100)) or 'bravo !')
                                                


                                                ou

                                                from random import randint
                                                foo = lambda n=0,m=randint(1,100): n!= m and foo(int(input(n and 'le nombre a trouver est '+('plus petit','plus grand')[n<m]+'\nessaye encore : ' or 'un chiffre entre 1 et 100 : ')),m) or n==m and print('bravo !')
                                                foo()
                                                



                                                -
                                                Edité par josmiley 17 mai 2020 à 22:28:30

                                                • Partager sur Facebook
                                                • Partager sur Twitter

                                                "il vaut mieux vivre en France qu'en Italie, la France a de plus jolies prisons"

                                                  17 mai 2020 à 19:51:31

                                                  PierrotLeFou a écrit:

                                                  Donc, une fois le 'assert' disparu, il nous faut encore le 'if' ou l'équivalent.

                                                  C'est un joli truc pour tester les possibilités, mais pas plus.

                                                  Comme tu l'as dit, le 'assert' ça sert pour le debug.


                                                  C'est ça, effectivement le if reste dans le code, assert c'est pour faire des tests en général afin de vérifier que les valeurs attendues soient vraies.
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter

                                                  Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
                                                  La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

                                                    18 mai 2020 à 6:03:17

                                                    PierrotLeFou a écrit:

                                                    Je fais justement partie de ces tordus qui essaient de tout mettre sur une ligne ...


                                                    l'appel à la fonction ça compte comme une ligne ? ^^

                                                    foo = lambda n=0,m=__import__('random').randint(1,100): n!= m and foo(int(input(n and 'le nombre a trouver est '+('plus petit','plus grand')[n<m]+'\nessaye encore : ' or 'un chiffre entre 1 et 100 : ')),m) or n==m and print('bravo !')
                                                    foo()



                                                    -
                                                    Edité par josmiley 18 mai 2020 à 6:05:09

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter

                                                    "il vaut mieux vivre en France qu'en Italie, la France a de plus jolies prisons"

                                                      18 mai 2020 à 8:27:05

                                                      Et le pire est que ça marche! :)
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter

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

                                                        18 mai 2020 à 8:35:22

                                                        fred1599 a écrit:

                                                        PierrotLeFou a écrit:

                                                        Donc, une fois le 'assert' disparu, il nous faut encore le 'if' ou l'équivalent.

                                                        C'est un joli truc pour tester les possibilités, mais pas plus.

                                                        Comme tu l'as dit, le 'assert' ça sert pour le debug.


                                                        C'est ça, effectivement le if reste dans le code, assert c'est pour faire des tests en général afin de vérifier que les valeurs attendues soient vraies.

                                                        oui dacord mais on peut l'utiliser comme ca  :p

                                                        -
                                                        Edité par Le programmeur solitaire 18 mai 2020 à 8:35:58

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter

                                                        le code FAIT le bonheur (pour moi en tous cas)

                                                          18 mai 2020 à 9:36:22

                                                          Comme je l'ai dis assert est utiliser dans un module de tests dédié, on peut en balancer partout sans créer ce module de test, mais ça reste pas très propre dans l'ensemble, à moins que se soit une utilisation particulière pour le test fonctionnel sur une petite fonction par exemple.

                                                          On peut regarder ce module pour avoir une idée : unittest

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

                                                          Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
                                                          La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

                                                            18 mai 2020 à 15:12:45

                                                            @josmiley:
                                                            Tu peux encore optimiser en ramenant le  'plus '  des deux conditions juste après le  'est '
                                                            Tu vas sauver un gros 5 caractères. :)
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

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

                                                              18 mai 2020 à 16:05:41

                                                              PierrotLeFou a écrit:

                                                              @josmiley:
                                                              Tu peux encore optimiser en ramenant le  'plus '  des deux conditions juste après le  'est '
                                                              Tu vas sauver un gros 5 caractères. :)

                                                              LOL c'est vrai ^^
                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              "il vaut mieux vivre en France qu'en Italie, la France a de plus jolies prisons"

                                                              Exercice et algorithm

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