2013-12-17 53 views
0

我想循环这10次并更改每行上的所有数字。python循环并打印字符串变量

<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

你必须做到:

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)** 

注的3倍,我把 “我” 的变量。

如果你想使循环10次,假设你需要从1到10个数字,你应该使用: 为我的range(1,11): 打印...

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)