Bonsoir,
J'aimerais bien créer un générateur de tableau pour le HTML.
Par exemple il me demande d'entrer un nombre de ligne et de colonnes et il me donne le code que je peux insérer dans ma page HTML.
Un tout grand merci d'avance.
TonyKart13
Version imprimable
Bonsoir,
J'aimerais bien créer un générateur de tableau pour le HTML.
Par exemple il me demande d'entrer un nombre de ligne et de colonnes et il me donne le code que je peux insérer dans ma page HTML.
Un tout grand merci d'avance.
TonyKart13
La question n'est pas claire, as-tu déjà fait quelque chose ?
Si tu connais les bases du langage, cela se fait avec deux boucles while imbriquées par exemple, sans trop de soucis.
Après, tout dépend du type de tableau que tu veux....( avec ou sans th, thead, etc... ).
Oui j'ai biensur déjà commencé..
Mais je ne vois pas ma faute.. Il me dit pourtant une erreure..Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197 # -*- coding: cp1252 -*- #paramètrage principale###################################################### ligne=0 capt=0 cpt=1 rien="rien sert à faire répété l'énoncé" # indexation \\\\\\\\\\\\\\\\\\\\\\\\\\\\ a,b,c=0,0,0#.................... # # . # list1,list2,list3=[],[],[]# + +.+ + + # # . + # ordre=[a,b,c]#.................. + # # + # liste0= [list1,list2,list3]# + + + + + # #\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/ #les parties#___________________ # # caption,captionoui="","" # titre=["thead","tbody","tfoot"] # #_______________________________# # stryles //////////////////////////\ style="" # # stylet="" # style1="" # style2="" # style3="" # # styleform="" # stylegen="" # # ouinon="" # styleoui="" # styl0=[] # # /////////////////////////////////// # tableau ----------------------------------------------- print"° ° ° ° ° ° ° ° ° ° ° ° ° ° ° °" #- print"°***** forme du tableau ******°" #- print"° ° ° ° ° ° ° ° ° ° ° ° ° ° ° °" #- print'1. le titre "caption"\n\n\ en mettre un ? \n>>[oui] / [non]' #metre un titre au tableau while 1: caption=raw_input("votre réponse: ") if caption=="oui": captionoui="oui" break if caption=="non": break print'\n [!!!](oui) ou (non)/!\ ' while capt<len(ordre): print"\n\n",str(capt+2)+'. le '+titre[capt]+"\n" ligne=input("nombre de ligne:\n-> ") ordre[capt]=ligne while ligne>0 : print"ligne n°"+str(cpt)+':', cell=input("nombre de cellules:\n-> ") liste0[capt].append(cell) ligne-=1 cpt+=1 cpt=1 capt+=1 capt=0 #réglage des style css .................................. print"\n\n\n° ° ° ° ° ° ° ° ° ° ° ° ° ° ° °" #. print"°******** les styles *********°" #. print"° ° ° ° ° ° ° ° ° ° ° ° ° ° ° °" #. while 1: #. ouinon=raw_input("\nI)activer les styles ?\n >[oui\ ] / [non]\n\n votre réponse: ") #. #. if ouinon=="non": break if ouinon=="oui": styleoui="oui" break if rien: print "\n /!\ veuillez redéfinir votre choix\n" # si style = oui ************************************************************ if styleoui=="oui": #css #* stylet=raw_input("\nII) css du tableau:\n -> ") #tableau #* stylet="style=\""+stylet+"\"" #* #* #* # style (=) ou (!) .........................................................* print"\n\nIII) css des cellules\n" #* #* while 1: #* styleform=raw_input(" >>style égaux [=]\n >>style spécifique [\ !]\n\n votre réponse: ") #* #* if styleform=="!": # css différents #* stylegen="!" #* break #* #* if styleform=="=": # css égaux #* stylegen="=" #* break #* #* if rien: #* print "\n/!\ veuillez redéfinir votre choix\n" #* # style [=]------------------------------------------------------------#* if stylegen=="=": #* style=raw_input("\n\nIVa)le style de toute les cellules:\n -> ")#* style="style=\""+style+"\"" #* #* style1 , style2 , style3 = style,style,style #* # style [!]#* if stylegen=="!": style1=raw_input("\n\nIVb)le style du table header:\n -> ") #* style1="style=\""+style1+"\"" #* #* style2=raw_input("\n\nIVc)le style du table body:\n -> ") #* style2="style=\""+style2+"\"" #* #* style3=raw_input("\n\nIVd)le style du table footer:\n -> ") #* style3="style=\""+style3+"\"" #* #* style0=[style1,style2,style3] #* #**************************************************************************** print"\n\n\n***********************************************************\n\n" #affichage tableau ############################################################# print"\n<table "+stylet+">\n\ <!--....................................................-->" if captionoui=="oui": print" <caption style=\"\"></caption>\n\ <!--....................................................-->" else: print"<!--<caption style=\"\"></caption>-->\n<!--\ /!\ pour activer le caption retirez \ les balises de commentaire /!\ -->\n\ <!--....................................................-->" while capt<len(ordre): # dans le cas où la partie traitée serait vide (ligne = 0) if liste0[capt]==0: print" </"+titre[capt]+">\n<!--...................\ .................................-->\n<"+titre[capt]+">" else: print" <"+titre[capt]+">" while ordre[capt]>0 : cpt=0 while len(liste0[capt])>cpt: print" <tr ><!--ligne n°",cpt+1,"-->" while liste0[capt][cpt]>0: if capt==0: print" <th "+style0[capt]+"></th>" else: print" <td "+style0[capt]+"></td>" liste0[capt][cpt]-=1 print" </tr>" cpt+=1 ordre[capt]-=1 print" </"+titre[capt]+">\n\ <!--....................................................-->" capt+=1 print"</table>"
Merci, pourrais tu me donner ta version avec les 2 boucles ?
Cordialement, TK13
Salut,
Alors... je ne veut pas être méchant! Je ne veut pas te faire peur non plus... mais ton code est.... heu.... très moche lol!
C'est juste des conseilles de programmeur se que je vais te donnée, tu en ferra se que tu voudra ensuite! ;)
Se qu'il faut, surtout quand tu présente ton code sur un forum, c'est qu'il soit "attractif". Les ########, les ///////////, les .............. et les ++++++++++ ne serve à rien!
Sa délimite des trucs... mais ont sait pas trop quoi!
De la même manière les #., #- ou # sans aucun commentaire ne serve à rien.
Ensuite, malgré le nombre de commentaire qui résulte de toutes ces petites "décoration" on ne voit presque pas de "vrai" commentaire! Je veut parlez de truc qui commence par # avec un texte clair, cour et précis sur la chose et qui termine simplement par un point!
du style:
Les variables que tu initialise au début du code: C'est bien, mais pas nécessaire en python (on est pas en C). Si nécessaire tu peut initialiser tes variables juste avant ou au moment de les utiliser.Code:
1
2
3 #Voici la fonction truc: Elle ecrit la variable "param". def truc(param): print param
Tout le monde ne serra peut être pas d'accord avec sa.. mais pour débuter sa te simplifiera la vie et t'évitera des oublies!
Une autre chose TRÈS importante en python dans les forums! Il faut indenter ton code, sinon c'est carrément casse tête pour nous! (Je sais... les forums ne prennent pas la tabulation qu'il faut remplacer par des espaces, mais avec un bon éditeur de texte (notepad++) tu fait sa rapidement)
Essai aussi d'utiliser des fonctions! C'est pas très compliqué et sa permet de "ranger" et d'ordonner ton code!
Voici un petit exemple vite fait:
Ce code te génère un tableau html tout simple. Copie ce code dans ton éditeur python et regarde comme c'est clair! ( prétentieux??? Moi?? :mouarf: )Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 # -*- coding: cp1252 -*- #importation des modules import os def titre(): #Fonction titre: Permet de demander le titre à l'utilisateur titre = raw_input("Entrer le titre: ") #Je demande à l'utilisateur if titre == "": #Vérification du titre return False #Si pas de titre alors titre est False else: return titre #Si un titre alors je le renvoi def nb_colonne(): #Fonction nb_colonne: Permet de demander le nombre de colonne à l'utilisateur try: nb = input("Entrer le nombre de colonne: ") #Je demande à l'utilisateur return nb #je renvoi la valeur except: return False def nb_ligne(): #Fonction nb_ligne: Permet de demander le nombre de ligne à l'utilisateur try: nb = input("Entrer le nombre de ligne: ") #Je demande à l'utilisateur return nb #je renvoi la valeur except: return False def gen_tab(titre, ligne, colonne): #Fonction gen_tab pour génération_tableau: Permet de Générer le tableau suivant les parametres "titre", "colonne", "ligne" tab = "<table>%s" % os.linesep if titre: tab += "<caption>%s</caption>%s" % (titre, os.linesep) for i in range(ligne): #On boucle autant de foix que de ligne tab += "<tr>%s"%os.linesep #Pour chaque ligne une balise tr for j in range(colonne): #On boucle autant de foix que de colonne tab += "<td></td>%s"%os.linesep #Pour chaque colonne une balise <td></td> tab += "</tr>%s"%os.linesep #Fermerute de la balise tr tab += "</table>%s"%os.linesep #Fermeture du tableau return tab #Je renvoi la variable tableau #Pour faire zoli!! print "° ° ° ° ° ° ° ° ° ° ° ° ° ° ° °" print "°***** forme du tableau ******°" print "° ° ° ° ° ° ° ° ° ° ° ° ° ° ° °" #Et maintenant au boulot! le_titre = titre() #Je demande le titre avec la fonction "titre()" le_nombre_de_colonne = nb_colonne() #Je demande le nombre de colonne while le_nombre_de_colonne == False: print "erreur" le_nombre_de_colonne = nb_colonne() le_nombre_de_ligne = nb_ligne() #Je demande le nombre de ligne while le_nombre_de_ligne == False: print "erreur" le_nombre_de_ligne = nb_ligne() le_tableau_html = gen_tab(le_titre, le_nombre_de_colonne, le_nombre_de_ligne) #Je transmet les infos à la fonction qui va générer mon tableau HTML #A partir d'ici ma variable "le_tableau_html" contient du code HTML print le_tableau_html #J'affiche ce code à l'écran!
Étudie ce code, et essai de le comprendre! Une fois que tu l'aura compris tu aura je pense se qu'il te faut pour bien codé et réussir ton projet sans te demander comment sa se fait que t'a une erreur! :ccool:
Un dernier conseille... commence par le début si tu veut programmer! Sans allez chercher des trucs compliqué comme les class, regarde quand même les fonctions, type de variable, etc...
Et si tu a des questions... on est la! :D