Как добавить новую строку в строку в Python - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть этот код

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:----
"""

Я не уверен, как правильно добавить новую строку в строку, так как + = не работает.

Ответы [ 2 ]

0 голосов
/ 23 ноября 2018

Просто используйте '\ 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:----
0 голосов
/ 23 ноября 2018

Это можно сделать одной конструкцией вместо нескольких шагов:

result = '\n'.join(['{}:{}'.format(i, '-' * elements_in_row)
                    for i in range(1, rows + 1)][::-1])

Одна из причин, по которой исходный код не сработал, заключается в том, что при обновлении строки fullview не учитывалось предыдущее состояние:

fullview = str(rows)+ ':' + elements
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...