Python, вернуть новую строку в функцию return - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть такой код `

celldata=""
        count=0
        for tableData in y:
            count = count+1
            strcount=str(count)
            celldata += strcount + ")" + tableData .text + "\n"
        return celldata

` Я возвращаю значение, которое будет использоваться в колбе, проблема в том, что я хочу, чтобы каждая строка цикла была в новой строке, но после попытки \ n, и в веб-приложении колбы я получаю данные ячейки в одну строку с одним пробелом между каждым выходная строка цикла for. Вот мой текущий вывод для celldata в флеш-сети 1) хххх 2) гггг

Я хочу, чтобы URL-адрес фляги возвращался

1)xxxx
2)yyyy

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Если вы пытаетесь отформатировать это как HTML, я бы посоветовал вам добавить <br /> также к возвращаемому тексту:

celldata = []

for count, tableData in enumerate(y, start=1):
    celldata.append('{}) {}<br/>'.format(count, tableData.text))

return '\n'.join(celldata)

Сначала создается список записей с правильной нумерацией, а затем объединяется каждая строка вместе с новой строкой. Новая строка является чисто косметической и будет влиять только на то, как будет выглядеть HTML при просмотре в качестве источника. Именно <br /> гарантирует, что каждая запись будет отображаться в отдельной строке.

enumerate() используется для автоматического подсчета ваших записей для вас.

0 голосов
/ 27 апреля 2018

Вы, вероятно, возвращаете HTML и просматриваете его в браузере.

В HTML все серии пробелов эквивалентны - нет разницы между '\n' и ' '. Браузер должен преобразовать их все в один пробел, а затем решить, как правильно передавать результаты.

Итак, вам придется изучить некоторый базовый HTML. Но вот несколько быстрых советов, с которых можно начать:

  • <p>one paragraph</p> <p>another paragraph</p> определяет два отдельных абзаца.
  • <p>one paragraph<br />with a line break in the middle</p> определяет абзац с разрывом строки в середине.
  • <table><tr><td>row one</td></tr> <tr><td>row two</td></tr></table> определяет таблицу из двух строк (и одного столбца).

Последний является самым сложным, но, учитывая, что у вас есть вещи с именами tableData и celldata, я подозреваю, что это может быть то, что вы на самом деле хотите здесь.

HTML сам по себе определяет только «структуру», а не макет. Браузер должен решить, что на самом деле означает «два абзаца», «разрыв строки» или «две строки» в терминах реальных пикселей. Если вы хотите более точный контроль, вам нужно изучить CSS, а также HTML, который позволяет указывать явные стили для этих элементов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...