我有这个代码
def fullview():
rows = 3
elems_in_row = 4
List = ['-'] * rows
for i in range(rows):
List[i] = ['-'] * elems_in_row
for i in List:
elements = ''.join(i)
fullview = str(rows)+ ':' + elements
rows -= 1
return fullview
当我向全屏显示添加一行时,它将删除添加到它的前一行。 我想要的结果是:
fullview = """
3:----
2:----
1:----
"""
由于+ =不起作用,因此不确定如何将新行正确添加到字符串中。
答案 0 :(得分:0)
这可以一次构造,而不是多个步骤:
result = '\n'.join(['{}:{}'.format(i, '-' * elements_in_row)
for i in range(1, rows + 1)][::-1])
原始代码不起作用的原因之一是,更新fullview
的行未考虑先前的状态:
fullview = str(rows)+ ':' + elements
答案 1 :(得分:0)
只需使用'\ n'
def fullview():
rows = 3
elems_in_row = 4
fullview_str = ''
for i in range(rows, 0, -1):
fullview_str += "{}:{}\n".format(i, '-' * elems_in_row)
return fullview_str
示例输出:
3:----
2:----
1:----