我试图循环10次并更改每一行的所有数字。
<li>1. <a href='/some/url/index.php?member=_MEMBER_1_'>_MEMBER_1_DESC_ (_MEMBER_1_UNI_IN_) </a></li>
我尝试使用范围功能,但不知道如何更改数字。
#!/usr/bin/python
for i in range(5):
print ("<li> %d. <a href='/some/url/index.php?member=_MEMBER_%d_'>_MEMBER_%d_DESC_ (_MEMBER_%d_UNI_IN_) </a></li>") % i
也许我必须为该行设置正则表达式然后过滤数字。但那么如何改变呢?
答案 0 :(得分:3)
考虑:
>>> "%d%d%d" % 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: not enough arguments for format string
>>> "%d%d%d" % (1,1,1)
'111'
您需要在字符串中为每个 '%d'
指定一个数字。
请注意,如果您使用字典表单,则可以解决此问题:
>>> "%(val)s%(val)s%(val)s" % {'val': 1}
'111'
但是现在我更喜欢.format
:
>>> '{0}{0}{0}'.format(1)
'111'
在你的情况下:
print ("<li> {0}. <a href='/some/url/index.php?member=_MEMBER_{0}_'>_MEMBER_{0}_DESC_ (_MEMBER_{0}_UNI_IN_) </a></li>").format(i)
答案 1 :(得分:0)
你必须这样做:
for i in range(5):
print ("<li> %d. <a href='/some/url/index.php?member=_MEMBER_%d_'>_MEMBER_1_DESC_ (_MEMBER_%d_UNI_IN_) </a></li>") % **(i, i, i)**
注意我放“i”变量的3次。
如果你想循环10次,假设你需要1到10之间的数字,你应该使用: for i in range(1,11): 打印......