2010-03-12 142 views
0

我有一個嵌入了html的PSP頁面。我需要放置另一個for循環,以便我可以在background-color:旁邊插入另一個%s,這會在html表格中添加適當的顏色。Python:For循環問題

例如,我需要插入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> 

----- ----- EDITED

在代碼提供EBO堵塞,它的顏色表中的所有的一種顏色。顏色列表包含各種顏色,例如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> 
+2

順便說一句,你正在生產非常糟糕的HTML代碼。 :-( – 2010-03-12 13:41:03

+0

我知道,我只是想要一個工作頁面的那一刻... – James 2010-03-12 13:41:32

+4

一個工作頁面將包括有效的HTML代碼,請首先解決您的HTML,並添加一個例子色彩。 – ebo 2010-03-12 13:44:23

回答

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 

我想你在你的代碼中有一些額外的錯誤,這些錯誤搞砸了解析。

+0

嘿插入你的代碼,表上來的都是一個顏色。顏色列表包含一系列顏色,例如['黃色','黃色','黃色','紅色','紅色','紅色','綠色','綠色]] – James 2010-03-12 14:16:26