我正在使用Python中的CGI脚本,我必须显示图像和名称。当您单击下一个和/或上一个时,它会显示列表中的下一个/上一个图片。
以下是我的代码:
#!/usr/bin/python
import cgi
ls = ["name1", "name2", "name3", "name4", "name5"]
print "Content-type: text/html"
print
data = cgi.FieldStorage()
number = data.getvalue("number", "0")
int_num = int(number)
item = ls[int_num]
print """
<table border>
<tr> <td colspan=2 align=center> <font size=+3 color=red> %s </font> </td> </tr>
<tr> <td align=center> <a href="/cgi-bin/09042013/lab2script1?number=%s">Previous</a> </td>
<td align=center> <a href="/cgi-bin/09042013/lab2script1?number=%s">Next</a> </td>
</table>
""" % (number, int(number) - 1, int(number) + 1)
print "%s" % (item)
以下是我的问题: 1.)我如何实现一个功能,如果它到达名单的末尾,它会循环回到前面,反之亦然。我理解这将是一个简单的if语句,但是我的所有想法都会导致“服务器错误”。 2.)要使用python显示图片,我是否只使用包含图像位置的列表,就像我使用ls(名称列表)一样?
任何帮助将不胜感激!谢谢!
答案 0 :(得分:0)
为了在达到限制时旋转到列表的正面或背面,您必须替换代码:
% (number, int(number) - 1, int(number) + 1)
由:
% (number, (int(number)-1)%n, (int(number)+1)%n)
运算符“%”应用于数字的位置为您提供除法的余数。 您还应该添加以下行:
n=len(ls)
定义ls。
之后这里,例如,当到达上边界时,5被5/5的除法的剩余部分0替换,因此该代码获得到列表开头的图的链接。当达到下边界时,这个想法是类似的。