我在python中有一个问题。如何使用while收集结果值?
ColumnCount_int = 3
while ColumnCount_int > 0 :
ColumnCount_text = str('<colspec colnum="'+ str(ColumnCount_int) +'"' ' ' 'colname="'+ str(ColumnCount_int) + '">')
Blank_text = ""
Blank_text = Blank_text + ColumnCount_text
ColumnCount_int = ColumnCount_int - 1
print(Blank_text)
结果显示如下
<colspec colnum="3" colname="3">
<colspec colnum="2" colname="2">
<colspec colnum="1" colname="1">
但是我想收集所有结果如下
<colspec colnum="3" colname="3"><colspec colnum="2" colname="2"><colspec colnum="1" colname="1">
你能告诉我哪一部分错了吗?
您可以通过以下的地方修复代码Blank_text = ""
之前移动while loop
和print(Blank_text)
后叫loop
。
(注意:由于Blank_text
累积,变量名已更改accumulated_text
为注释中建议的名称):
ColumnCount_int = 3
accumulated_text = "" # variable name changed, used instead of Blank_text
while ColumnCount_int > 0 :
ColumnCount_text = str('<colspec colnum="'+ str(ColumnCount_int) +'"' ' ' 'colname="'+ str(ColumnCount_int) + '">')
accumulated_text = accumulated_text + ColumnCount_text
ColumnCount_int = ColumnCount_int - 1
print(accumulated_text)
结果:
<colspec colnum="3" colname="3"><colspec colnum="2" colname="2"><colspec colnum="1" colname="1">
但是,可以通过以下紧凑方式来获得相同的结果.join
:
result = ''.join('<colspec colnum="{0}" colname="{1}">'.format(i,i) for i in range(3,0,-1))
print(result)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句