2013-12-17 86 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)