Partage
  • Partager sur Facebook
  • Partager sur Twitter

France ioi - Jeu de dames

    29 juillet 2019 à 17:08:52

    Bonjour,

    Je viens vers vous pour un petit coup de main concernant un exercice sur France ioi (jeu de dames).

    Voici les explications de l'exercice:

    • Votre programme doit afficher un damier de taille 40×40. Assurez-vous bien que la case tout en haut à gauche contienne un « O », comme c'est le cas dans le damier ci-dessus.
    Exemple:
    OXOX
    XOXO
    OXOX
    XOXO
    Voici mon code:
    for loop in range(20):
       for loop in range(20):
          print("OX", end = "")
    print()
    for loop in range(10):
       for loop in range(20):
          print("XO", end = "")
    print()
    for loop in range(10):
       for loop in range(20):
          print("OX", end = "")
    print()

    J'ai utiliser les conseils, mais je n'arrive pas à comprendre ou ça bloque.

    Bizarrement, les autres exercice ne mon pas poser de problème même les suivants. Mais le fait de crée un damier, me pose problème.

    D'autre j'aimerais comprendre mes erreurs et mieux comprendre la méthodologie.

    Merci d'avance.

    -
    Edité par llRaZieL 29 juillet 2019 à 17:10:35

    • Partager sur Facebook
    • Partager sur Twitter
      29 juillet 2019 à 17:19:19

      Il y a un problème de logique dans ton  code, tu commences par écrire 20 lignes qui commencent toutes par un zéro.

      Ça peut se résoudre avec seulement deux boucles for normalement.

      • Partager sur Facebook
      • Partager sur Twitter
        29 juillet 2019 à 17:23:50

        Je te laisse analyser le code, si tu comprend pas dis le nous on t'aidera, sinon copie/colle bêtement.

        for iteration, loop in enumerate(range(40)):
           for loop in range(20):
              if(iteration % 2 == 0):
                print("OX", end="")
              else:
                print("XO", end="")
           print("\n")

        Le deuxième for n'est que de 20 parce que "xo" = 2 caractères donc j'ai supposé 2 cases.

        -
        Edité par WorstDevEver 29 juillet 2019 à 17:24:19

        • Partager sur Facebook
        • Partager sur Twitter

        Try->Fail->Learn->Converge to success :{\displaystyle Q[s,a]:=(1-\alpha )Q[s,a]+\alpha (r+\gamma ~max_{a'}Q[s',a'])}

          29 juillet 2019 à 18:03:24

          Le \n est de trop je crois, et les deux variables loop c'est bof.

          Sinon j'aurais plutôt fait ça mais ça reviens au même :

          for a in range(40):
              for b in range(40):
                  if (a + b) % 2 == 0:
                      print("O", end="")
                  else:
                      print("X", end="")
              print()
          



          • Partager sur Facebook
          • Partager sur Twitter
            29 juillet 2019 à 18:04:23

            Merci pour vos message.

            Par contre vue que je commence a apprendre le python, je ne connais pas le "for iteration, loop in enumerate", "if(iteration % 2 == 0):"...

            Pour bien comprendre l'exercice, est-ce possible de ce contenter, des balises que j'ai utiliser s'il vous plait.

            Ça me permettra de mieux comprendre mes erreurs et mieux comprendre le code.

            Merci beaucoup. :)

            -
            Edité par llRaZieL 29 juillet 2019 à 18:05:23

            • Partager sur Facebook
            • Partager sur Twitter
              30 juillet 2019 à 1:26:34

              On t'a donné des façons «avancées» de répondre à la question, l'astuce étant de faire la somme des indices modulo 2. On dirait que tu ne sais pas ce que c'est l'instruction if. Sans elle, on ne peut pas faire grand chose. Tu peux néanmoins procéder comme suit :

              - avec une boucle for, tu produis un code qui affiche juste la ligne 1

              - avec une boucle for, tu produis un code qui affiche juste la ligne 2

              - tu places les deux lignes de code précédentes dans une boucle for qui les répètera 20 fois donc for loop in range(20).

              Pour la ligne 1, tu fais une boucle for pour afficher par paquet de 2 lettres ("OX"), idem pour la ligne 2 mais "XO". Et c'est d'ailleurs ce que ton code essaye de faire. Tu gères bien l'absence de saut de ligne. 

              Si on est complètement débutant en programmation et qu'on ne dispose pas de la boucle for, l'exercice n'a rien d'évident.

              -
              Edité par PascalOrtiz 30 juillet 2019 à 1:28:33

              • Partager sur Facebook
              • Partager sur Twitter
                30 juillet 2019 à 8:56:42

                thelinekioubeur a écrit:

                Le \n est de trop je crois, et les deux variables loop c'est bof.

                Sinon j'aurais plutôt fait ça mais ça reviens au même :

                for a in range(40):
                    for b in range(40):
                        if (a + b) % 2 == 0:
                            print("O", end="")
                        else:
                            print("X", end="")
                    print()
                



                Pour les "loop" j'avoue, c'est un copié collé tout pourrit j'ai même pas fais gaffe ^^. Le "\n" vieille habitude.

                ---

                IIRaziel le "%" tu peux le traduire par des conditions simples pour alterner les actions une ligne sur deux. Tu pourrais faire la même chose avec un entier X que t'incrémentes à chaque fois que tu passe dans ta boucle, si c'est égal à "2" alors tu fais ton autre action et tu remet X à 1.

                x = 1
                for i in range(40):
                   for j in range(20):
                      if(x == 1):
                        print("OX", end="")
                      else:
                        print("XO", end="")
                   x = x+1
                   if(x > 2):
                      x = 1
                   print()


                Pour ce qui est du "in enumerate" oublie pour le moment, c'est ma faute j'étais fatigué j'ai compliqué pour rien. Tu boucles déjà sur des entiers donc c'est strictement inutile dans ce cas.

                -
                Edité par WorstDevEver 30 juillet 2019 à 8:58:20

                • Partager sur Facebook
                • Partager sur Twitter

                Try->Fail->Learn->Converge to success :{\displaystyle Q[s,a]:=(1-\alpha )Q[s,a]+\alpha (r+\gamma ~max_{a'}Q[s',a'])}

                  31 juillet 2019 à 11:14:41

                  Merci ça me sera utile.

                  -
                  Edité par VanillaNeko 31 juillet 2019 à 11:16:00

                  • Partager sur Facebook
                  • Partager sur Twitter
                    31 juillet 2019 à 11:19:58

                    Merci à vous pour vos message, j'ai enfin compris mon erreur et j'ai également compris l'exercice.

                    Encore merci. :)

                    • Partager sur Facebook
                    • Partager sur Twitter
                      31 juillet 2019 à 12:12:29

                      Maintenant que c'est fini on peut s'amuser à faire des oneliners  :magicien:

                      for a in range(1600):print("OX"[a%2],end="\n"[:a%40==39])



                      Qui dit mieux ?

                      -
                      Edité par thelinekioubeur 31 juillet 2019 à 12:14:44

                      • Partager sur Facebook
                      • Partager sur Twitter
                        31 juillet 2019 à 12:43:12

                        thelinekioubeur a écrit:

                        Maintenant que c'est fini on peut s'amuser à faire des oneliners  :magicien:

                        for a in range(1600):print("OX"[a%2],end="\n"[:a%40==39])


                        Ce n'est pas exactement ce que j'entendrais par une oneliner qui devrait être une expression tandis que tu as une instruction (for). Et je ne suis pas sûr que telle quelle on puisse la transformer en expression si facilement. En outre, le code sera très lent si n est grand (par exemple n=5000 au lieu de n=40) car tu vas afficher un caractère vide 24995000 de fois.

                        Personnelement j'aurais écrit qqchose qui s'approche du code standard pour résoudre l'exo ce qui aurait donné

                        print('\n'.join(''.join("OX"[(i+j)%2] for i in range(n)) for j in range(n)))


                        où on remplace n par 40 ou 5000 selon les cas.

                        • Partager sur Facebook
                        • Partager sur Twitter
                          31 juillet 2019 à 13:41:30

                          En expression on peut toujours faire ça:

                          	
                          [print("OX"[a%2],end="\n"[:a%40==39] for a in range(1600))]

                          Ça print bien ce qu'il faut, après ça sort un gros tableau de None qui ne sert à rien.

                          • Partager sur Facebook
                          • Partager sur Twitter
                            1 août 2019 à 0:12:19

                            thelinekioubeur a écrit:

                            En expression on peut toujours faire ça:

                            	
                            [print("OX"[a%2],end="\n"[:a%40==39] for a in range(1600))]

                            Ça print bien ce qu'il faut, après ça sort un gros tableau de None qui ne sert à rien.

                            SyntaxError (parenthèse mal placée)

                            thelinekioubeur a écrit:

                            Maintenant que c'est fini on peut s'amuser à faire des oneliners  :magicien:

                            for a in range(1600):print("OX"[a%2],end="\n"[:a%40==39])






                            En fait ton code n'affiche pas un damier mais des lignes identiques (alors qu'un damier, les lignes doivent alterner). Voici les 4 premières lignes :

                            OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX                                                                                                                                   
                            OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX                                                                                                                                   
                            OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX                                                                                                                                   
                            OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX



                            • Partager sur Facebook
                            • Partager sur Twitter
                              1 août 2019 à 7:44:49

                              Ah oui, du coup ça c'est mieux (ou la version liste si tu préfère) :

                              for a in range(1600):print("OX"[(a+a//40)%2],end="\n"[:a%40==39])



                              • Partager sur Facebook
                              • Partager sur Twitter
                                1 août 2019 à 8:19:38

                                thelinekioubeur a écrit:

                                Ah oui, du coup ça c'est mieux (ou la version liste si tu préfère) :

                                for a in range(1600):print("OX"[(a+a//40)%2],end="\n"[:a%40==39])




                                Le problème c'est que ce code ne marche que pour n pair. Si n est impair, on a le même problème que plus haut, les lignes ne sont pas alternées. C'est vrai que l'exo ne parlait que de n =40 mais dans ce cas là, il suffirait d'écrire le oneliner :

                                print("""OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO
                                OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO
                                OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO
                                OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO
                                OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO
                                OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO
                                OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO
                                OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO
                                OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO
                                OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO
                                OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO
                                OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO
                                OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO
                                OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO
                                OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO
                                OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO
                                OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO
                                OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO
                                OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO
                                OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX
                                XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO""")


                                ;)

                                Donc, pour que la question soit vraiment intéressante, il faut supposer n entier quelconque.

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  1 août 2019 à 8:48:21

                                  C'est sûr que vu sous cet angle il est bête cet exo ^^

                                  Mais là ce n'est plus un one liner puisque ça prend 40 lignes.

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    1 août 2019 à 9:05:37

                                    thelinekioubeur a écrit:

                                    Mais là ce n'est plus un one liner puisque ça prend 40 lignes.


                                    Bien entendu, tu peux le faire tenir sur une :

                                    print('OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\nOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\nOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\nOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\nOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\nOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\nOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\nOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\nOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\nOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\nOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\nOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\nOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\nOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\nOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\nOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\nOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\nOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\nOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\nOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX\nXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO')

                                    Ce qui compte c'est les lignes logiques, pas les lignes physiques.

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      1 août 2019 à 10:36:55

                                      Donc en fait la ligne la plus courte possible ce serait un truc comme ça :

                                      print(f"{'OX'*20}\n{'XO'*20}\n"*20,end="")

                                      Et je ne suis pas sur que le end soit obligatoire pour que ce soit accepté sur france ioi.

                                      Et en plus c'est fast les multiplications de chaînes. Mais encore une fois ça ne marche que pour n pair.

                                      -
                                      Edité par thelinekioubeur 1 août 2019 à 10:37:04

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        1 août 2019 à 10:52:22

                                        Par définition un damier a forcément N pair. Si on exclu les Francques 

                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        Try->Fail->Learn->Converge to success :{\displaystyle Q[s,a]:=(1-\alpha )Q[s,a]+\alpha (r+\gamma ~max_{a'}Q[s',a'])}

                                          1 août 2019 à 11:00:26

                                          Bonjour,

                                          Voici un one-liner qui marche pour toutes les tailles n, paires ou impaires

                                          print('\n'.join(''.join('X' if (i + j) % 2 else 'O' for i in range(n)) for j in range(n)))



                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            1 août 2019 à 12:26:26

                                            brubru777 a écrit:

                                            Bonjour,

                                            Voici un one-liner qui marche pour toutes les tailles n, paires ou impaires

                                            print('\n'.join(''.join('X' if (i + j) % 2 else 'O' for i in range(n)) for j in range(n)))




                                            Oui, c'est quasiment le code que j'ai écrit 10 messages plus haut ;)

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              4 novembre 2019 à 16:24:28

                                              Ce n'est pas ce qui est demandé dans l'exercice.

                                              Tu as une boucle qui englobe toutes les imbriquées.

                                              Au total: 3.

                                              Test sur un éditeur avant de te lancer à la correction.

                                              -
                                              Edité par Yahvé Athée 4 novembre 2019 à 16:36:02

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                15 mars 2020 à 12:40:32

                                                Pour répondre au problème : 

                                                for loop in range(20):

                                                   for loop in range(20):

                                                      print("OX", end ="")

                                                   print()

                                                   for loop in range(20):

                                                      print("XO", end ="")

                                                   print()

                                                Je suis débutante, par contre je pensais vraiment que ce code serait suffisant : 

                                                for loop in range(20):

                                                   for loop in range(20):

                                                      print("OX", end ="")

                                                   print()

                                                      print("XO", end ="")

                                                   print()

                                                Pourquoi ne lance t'il pas la boucle entière et pourquoi dois je ajouter un nouveau "for"?

                                                -
                                                Edité par MarinaVandenbosch 15 mars 2020 à 12:42:42

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  15 mars 2020 à 13:07:57

                                                  MarinaVandenbosch a écrit:

                                                  Je suis débutante, par contre je pensais vraiment que ce code serait suffisant : 

                                                  for loop in range(20):

                                                     for loop in range(20):

                                                        print("OX", end ="")

                                                     print()

                                                        print("XO", end ="")

                                                     print()

                                                  Pourquoi ne lance t'il pas la boucle entière et pourquoi dois je ajouter un nouveau "for"?


                                                  Sur le forum, il faut placer ton code dans des balises spéciales, bouton </> de l'éditeur.

                                                  Tel que tu as écrit ton code :

                                                  for loop in range(20):
                                                  
                                                     for loop in range(20):
                                                  
                                                        print("OX", end ="")
                                                  
                                                     print()
                                                  
                                                        print("XO", end ="")
                                                  
                                                     print()

                                                  Si je te comprends bien, tu veux que soit répétées dans une boucle for les lignes 5 et 9 mais pas la ligne 9. Ce n'est pas possible. Python comprend que tu veux boucler la ligne 7 20 fois et qu'ensuite tu veux afficher un saut de ligne 9. Après tu as indenté sans raison syntaxique (une indentation a toujours lieu après le séparateur deux points, ce n'est pas le cas dans ton code). Bien sûr, tu pourrais indenter la ligne 7 mais alors tu n'aurais pas la bonne sortie.



                                                  -
                                                  Edité par PascalOrtiz 15 mars 2020 à 13:08:45

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    15 mars 2020 à 13:51:54

                                                    Le coup du module 2 est pratique 

                                                    for ligne in range (50):
                                                        for col in range (50):
                                                            print ( "X" if ((ligne % 2 ) ^(col % 2)) else "O", end = "")
                                                        print ("")

                                                    (moi je joue pas à celui qui fait le plus court !)

                                                    Ce code est valable pour toute les tailles>1, même pour un damier rectangulaire. J'utilise un OU exclusif. "colonne paire XOR colonne impaire".

                                                    Bon okay 

                                                    print('\n'.join(''.join('X' if (i%2^j%2) else 'O' for i in range(10)) for j in range(20)))

                                                    et en factorisant un peu 

                                                    print('\n'.join(''.join('X' if (i^j)%2 else 'O' for i in range(10)) for j in range(20)))




                                                    -
                                                    Edité par raoullevert 15 mars 2020 à 13:56:15

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      14 septembre 2022 à 18:37:19 - Message modéré pour le motif suivant : Merci d'utiliser le bouton code du forum pour insérer votre code


                                                        14 septembre 2022 à 19:01:25

                                                        jeu = "OX"*20+"O"
                                                        for _ in range(20):
                                                            print(jeu[:40], jeu[1:], sep='\n')
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter

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

                                                          14 septembre 2022 à 19:56:37

                                                          print('\n'.join(('OX'*20,'XO'*20)*20))

                                                          ou quelque soit n

                                                          n = 40
                                                          for x in range(n):
                                                              print(('OX'*n)[x&1:][:n])



                                                          -
                                                          Edité par josmiley 14 septembre 2022 à 21:11:54

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

                                                          Python c'est bon, mangez-en. 

                                                            15 septembre 2022 à 0:08:33

                                                            Remarque purement théorique ...
                                                            Est-ce que 2 slicing seront plus lent qu'un seul slicing?

                                                            -
                                                            Edité par PierrotLeFou 15 septembre 2022 à 0:09:01

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

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

                                                            France ioi - Jeu de dames

                                                            × 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