0

HTMLが埋め込まれたPSPページがあります。別の for ループを配置する必要があるので、その隣に別の %s を挿入しbackground-color:て、適切な色を html テーブルの色に挿入することができます。

たとえばfor z in colours、色リストをループして正しい色を挿入できるように挿入する必要があります。forループを挿入しようとしても、うまくいかないようです。テーブルの各セルを60回色付けしてから、次のセルに移動して繰り返し、Webブラウザをクラッシュさせます。

色は色と呼ばれるテーブルに保持されます。

以下のコード:

<table>
<%
s = ''.join(aa[i] for i in table if i in aa)
for i in range(0, len(s), 60):
    req.write('<tr><td><TT>%04d</td>' % (i+1));
    for k in s[i:i+60]:
            req.write('<TT><td><TT><font style="background-color:">%s<font></td>' % (k));
    req.write('</TT></tr>')
#end
%>
</table>

-----編集済み-----

提供されたコード ebo を差し込むと、テーブル全体が 1 色に着色されます。色のリストには、さまざまな色が含まれています。colour = ['yellow', 'yellow', 'yellow', 'yellow', 'red', 'red', 'red', 'red']

<table>
<%
s = ''.join(aa[i] for i in table if i in aa)
for i in range(0, len(s), 60):
    req.write('<tr><td>%04d</td>' % (i+1));
    for j, k in enumerate(s[i:i+60]):
        req.write('<td><font style="background-color:%s;">%s<font></td>' % (colour[j % len(colour)], k));
    req.write('</tr>')
#end
%>
</table>
4

1 に答える 1

1

各列に 1 つの色が必要だと思います。最良のアイデアは、列挙を使用することです:

s = ''.join(aa[i] for i in table if i in aa)
for i in range(0, len(s), 60):
    req.write('<tr><td>%04d</td>' % (i+1))
    for j, k in enumerate(s[i:i+60]):
        req.write('<td style="background-color: %s;">%s</td>' % 
                     (colours[j % len(colours)], k))
    req.write('</tr>')

TTタグは全て剥がしました。それらはほとんど間違っていて、閉じていないか、他の要素にまたがっていました。

更新これで十分です。すべてのフィールドが正しく入力されている場合は、ソースを見てください。また、 Firebugをダウンロードして、解析された html コードを見てください。他の html 障害によって異なる場合があります。

colour = ["red", "red", "green", "yellow"]

print "<table>"
s = '1234567890'
for i in range(0, len(s), 60):
    print('<tr><td>%04d</td>' % (i+1));
    for j, k in enumerate(s[i:i+60]):
        print('<td><font style="background-color:%s;">%s<font></td>' % (colour[j % len(colour)], k));
    print('</tr>')
print "</table>"

次のコードの出力を html ファイルにパイプして開きました。期待どおりに動作します。

python table.py > table.html
firefox table.html

コードに追加のエラーがあり、解析が台無しになっていると思います。

于 2010-03-12T13:57:45.347 に答える