Bonjour ,
Alors voila j'aurais besoin d'aide
Je souhaite faire un périmètre d'étoile d'une zone défini par le nombre de colonnes et de lignes .
Par exemple pour : nlign=4 et ncols=3 , je dois obtenir :
* * * * *
* *
* *
* *
* *
* * * * *
(le schema ne s'affiche pas correctement mais vous avez compris la 2eme colonne d'étoile dois être au bout pour former un rectangle vide)
à l'interieur j'obtiens bien 12 cases , j'ai essayer plusieurs codes mais sans succès j'obtiens : ***** pour la ligne du haut et du bas au lieu de * * * * *
Avec les valeurs 3,6 j'obtiens exactement ce que je veut , mais si j'inverse et que je met nligs=6 et ncols=3 , sa marche pas .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 nligs,nCols=3,6 s=init_liste(nligs,nCols) for x in range(0,nCols+2): print("+",end=' '); print() for i in s: print("*",' '*(nCols+2),' ',"*") for j in range(0,nCols+2): print("*",end=' ') print()
Quelqu'un aurais une idée pour réaliser ce que je souhaite sans avoir à modifier le programme à chaque fois en fonction des valeurs entrer.
Sachant que "s=init_liste" est une fonction qui permet d'initialiser linterieur de la zone
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 def init_liste(nligs,nCols): l=[] for i in range(nligs): l.append(['']*nCols) return l
Partager