首页 > 解决方案 > 如何使用 while 收集结果值?

问题描述

我在 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">

你能告诉我哪一部分错了吗?

标签: python

解决方案


您可以按照whereBlank_text = ""在.while loopprint(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)

推荐阅读