Partage
  • Partager sur Facebook
  • Partager sur Twitter

Formes creuses France ioi

Besoin d’aide

    31 octobre 2019 à 14:29:09

    Bonjour, 

    (J´espère que j’écris au bon endroit, sinon je suis désolé)

    Je suis sur cet exercice:http://www.france-ioi.org/algo/task.php?idChapter=509&idTask=455

    je viens vers vous car on m’indique que mon rectangle n’est pas bon:

    Voici mon code:

    def ligne(caract, r1):
        print(caract*r1)
    
    
    def lignecreuse(caract, r1):
        print("{}{}{}".format(caract," "*((r1)-1),caract))
    
    
    def rectangle(lignes, colonnes):
        for loop in range (lignes):
           if loop==0 or loop==(lignes-1):
              r1=colonnes
              ligne("#",r1)
           else:
              r1=colonnes-1
              lignecreuse("#",r1)
     
             
    def tri(t1):
        for loop in range (t1):
           r1=loop+1
           if loop==0 or loop==(t1-1):
              ligne("@",r1)
           else:
              lignecreuse("@",r1)         
             
             
    
    r1=int(input())
    lignes=int(input())
    colonnes=int(input())
    t1=int(input())
    ligne("X", r1)
    print()
    rectangle(lignes, colonnes)
    print()
    tri(t1)


    Pouvez vous m’aider ?

    Merci d’avance. 

    -
    Edité par AbigaelR 31 octobre 2019 à 14:45:17

    • Partager sur Facebook
    • Partager sur Twitter
      31 octobre 2019 à 18:46:34

      Salut,

      C'est plutôt le triangle qui a un problème non ? Il manque un @ à la fin

      • Partager sur Facebook
      • Partager sur Twitter
        3 janvier 2020 à 22:58:41

        lignecreuse("@", r1-1) et ne pas lignecreuse("@", r1)
        • Partager sur Facebook
        • Partager sur Twitter
          6 janvier 2022 à 16:38:35

          pour le carre il faux crée une condition colonne = 0

          def rectangle(lignes, colonnes):
              for loop in range (lignes):
                 if loop==0 or loop==(lignes-1):
                    r1=colonnes
                    ligne("#",r1)
                 elif colonnes==1:
                    r1=colonnes
                    ligne("#",r1)
                 else:
                    r1=colonnes-1
                    lignecreuse("#",r1)

          sinon il n'y a rien a toucher.

          • Partager sur Facebook
          • Partager sur Twitter
            6 janvier 2022 à 19:22:59

            Et faire:
            print(caract+' '*(colonnes-2)+caract)
            ça ne marche pas?
            )je suppose que colonne est au moins 2)
            sinon
            print(caract*colonne)

            et ceci?

            if lignes > 0: print("#"*colonnes)
            for _ in range(1, lignes-1): print(("", "#")[colonnes>0]+" "*(colonnes-2)+("", "#")[colonnes>1])
            if lignes > 1: print("#"*colonnes)

            Et ça pourra servir pour le triangle.

            -
            Edité par PierrotLeFou 6 janvier 2022 à 19:42:29

            • Partager sur Facebook
            • Partager sur Twitter

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

            Formes creuses France ioi

            × 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