Форматированный вывод

(Не рассмотрены pprint и format)

Различные способы вывода информации в консоль.
1. Просто вывод:

a = 3.4
print(a)

2. Форматированный вывод:

a = 3.4
print("%3d" % a)
a = 3.4
print("%3.2f" % a)
a = 3
print("%3.2f" % a)
a = '3'
print("%3s" % a)
a = 3
print("%3s" % a)

3. Вывод списка (последовательности):

a = [1,2,3,4,5]
print(a)

4. Склеивание числовой последовательности в строку

a = [1,2,3,4,5]
#map(str,a) Применяет функцию str к каждому элементу списка
#' '.join(['1','2','3','4']) - склеивает последовательность строк в одну
print(' '.join(map(str,a)))
a = [1,2,300,40,5,100]
print(' '.join(map(str,a)))

5. Склеивание числовой последовательности в строку

a = [1,2,3,4,5,6]
print(' '.join(map(lambda x: "%3d" % x, a)))
a = [1,2,300,40,5,100]
print(' '.join(map(lambda x: "%3d" % x, a)))

6. Вывод двумерного списка в консоль (будет некрасиво, если значения разной размерности):

from random import randrange as rnd
a = [[rnd(-10,120) for c in range(10)] for r in range(12)]
for r in a: # Перебираем все строки (по значению)
        for x in r: # Перебираем в строках все элементы (по значению)
                print(x, end = ' ') # Выводим значение элемента, переход строки в консоли не ставим
        print() # После вывода строки переходим в консоли на новую строку

7. (%3d выравнивает значения, будут проблемы, если значения не числа)

from random import randrange as rnd
a = [[rnd(-10,120) for c in range(10)] for r in range(12)]
for r in a: # Перебираем все строки (по значению)
        for x in r: # Перебираем в строках все элементы (по значению)
                print("%3d" % x, end = ' ') # Выводим значение элемента, переход строки в консоли не ставим
        print() # После вывода строки переходим в консоли на новую строку

8. Вывод двумерного списка, некоторые элементы которого — строки

from random import randrange as rnd
a = [[rnd(-10,120) for c in range(10)] for r in range(12)]
a[3][4] = '*'
for r in a: # Перебираем все строки (по значению)
        for x in r: # Перебираем в строках все элементы (по значению)
                print("%3s" % x, end = ' ') # Выводим значение элемента, переход строки в консоли не ставим
        print() # После вывода строки переходим в консоли на новую строку

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *