Как нарисовать таблицу в питоне
Перейти к содержимому

Как нарисовать таблицу в питоне

  • автор:

Нарисовать таблицу

Доброго времени суток, помогите, пожалуйста, написать программу, выводящую на экран таблицу, в которой количество строк и столбцов задается пользователем. В каждой ячейке выводится ее порядковый номер.

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Сделать таблицу умножения, таблицу сложения, а также таблицу возведения в степень
Помогите написать код) Сделать таблицу умножения, таблицу сложения, а также таблицу возведения в.

Нарисовать таблицу с помощью псевдографики и в эту таблицу вывести матрицу
В общем, друзья, такая задача:вводим матрицу, делаем там с ней некие действия и нужно нарисовать.

Нарисовать таблицу
Здраствуйте.Мне нужно нарисовать таблицу в Паскале.Вот пример такой таблици на рисунке.Кто может.

1443 / 680 / 303
Регистрация: 02.05.2020
Сообщений: 1,547
А рисовать на чём? Псевдографикой в консоли?
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Нарисовать таблицу
В разделе с++ для начинающих не могу создать тему, пишет что нецензурная лексика или слова с.

Нарисовать таблицу из чисел
Подскажите пжл как написать код на консоли чтобы пользователь выбирал кол-во строк и столбиков и.

Как нарисовать таблицу?
Как нарисовать таблицу, выделенную красным? Особенно интересуют заголовки составные.

Как нарисовать таблицу
Подскажите как нарисовать такую вот синюю таблицу?сорри если очень нубский вопрос

Нарисовать таблицу в CMD
Добрый день! Подскажите, как нарисовать в cmd вот такую таблицу?

В консоли нарисовать таблицу
Доброе время суток!Помогите,пожалуйста, представить рез-ты вычислений в виде таблицы в консоли! .

Нарисовать таблицу на Drupal
Всем доброе время суток! Первый раз столкнулся с Drupal. Создал страницу, на которой необходимо.

Как создать таблицу с помощью Matplotlib

Как создать таблицу с помощью Matplotlib

Вы можете использовать один из двух следующих методов для создания таблиц в Python с помощью Matplotlib:

Способ 1: создать таблицу из pandas DataFrame

#create pandas DataFrame df = pd.DataFrame(np.random.randn (20, 2), columns=['First', 'Second']) #create table table = ax.table (cellText=df.values , colLabels=df.columns , loc='center') 

Способ 2: создать таблицу из пользовательских значений

#create values for table table_data=[ ["Player 1", 30], ["Player 2", 20], ["Player 3", 33], ["Player 4", 25], ["Player 5", 12] ] #create table table = ax.table (cellText=table_data, loc='center') 

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

Пример 1: Создать таблицу из pandas DataFrame

В следующем коде показано, как создать таблицу в Matplotlib, содержащую значения в кадре данных pandas:

import numpy as np import pandas as pd import matplotlib.pyplot as plt #make this example reproducible np.random.seed (0) #define figure and axes fig, ax = plt.subplots() #hide the axes fig.patch.set_visible (False) ax.axis('off') ax.axis('tight') #create data df = pd.DataFrame(np.random.randn (20, 2), columns=['First', 'Second']) #create table table = ax.table (cellText=df.values, colLabels=df.columns, loc='center') #display table fig. tight_layout () plt.show() 

Таблица Matplotlib

Пример 2. Создание таблицы из пользовательских значений

Следующий код показывает, как создать таблицу в Matplotlib, содержащую пользовательские значения:

import numpy as np import pandas as pd import matplotlib.pyplot as plt #define figure and axes fig, ax = plt.subplots() #create values for table table_data=[ ["Player 1", 30], ["Player 2", 20], ["Player 3", 33], ["Player 4", 25], ["Player 5", 12] ] #create table table = ax.table(cellText=table_data, loc='center') #modify table table.set_fontsize (14) table. scale (1,4) ax.axis('off') #display table plt.show() 

таблица matplotlib с пользовательскими значениями

Обратите внимание, что table.scale(width, length) изменяет ширину и длину таблицы. Например, мы могли бы сделать таблицу еще длиннее, изменив длину:

table. scale (1,10) 

Построить таблицу при помощи циклов в Python. Как сделать последовательность?

Доброго времени суток.
Ребят, помогите разобраться с построением «таблицы» хотя бы намек.
Надо построить при помощи циклов:

0 2 4 6 8 10
1 3 5 7 9 11
2 4 6 8 10 12
3 5 7 9 11 13
4 6 8 10 12 14
5 7 9 11 13 15

Последовательность примерно понятна — как бы каждый последующий столбец увеличивается на 2.
Если написать что то вроде:

size = int(input(«Введите размер таблицы: «))
for col in range(size):
for row in range(size):
if row % 2 == 0:
print(col, end = » «)
else:
print(col + 2, end = » «)
print()

получается:
0 2 0 2 0
1 3 1 3 1
2 4 2 4 2
3 5 3 5 3
4 6 4 6 4

Первые 2 столбца норм, а потом они повторяются.
Буду благодарна хотя бы за подсказку, упускаю что то очевидное.

  • Вопрос задан более двух лет назад
  • 1333 просмотра

Комментировать
Решения вопроса 1

D1os

Начинающий программист
В питоне можно задать работу цикла вручную.

for i in range(2, 11, 2): print(i)

В данном примере первый аргумент в скобках цикла — начальное значение счётчика, второй аргумент — конечное значение счётчика, третий — инкремент (увеличение) счётчика.
Т. е., этот цикл распечатает каждое второе число в интервале от 2 до 10 (2, 4, 6, 8, 10).
От этого отталкивайся.
P.s., если надо, готовый код внизу.

spoiler

size = int(input("Table size: ")) for i in range(size): for j in range(0, 2*size, 2): print(i + j, end=' ') print('\n') # Второй вариант for i in range(size): for j in range(i, 2*size + i, 2): print(j, end=' ')

Как нарисовать таблицу в питоне

Для отображения данных в виде таблицы параметру show предпочтительно передать значение «headings» (если надо отображать заголовки), либо » » (для таблицы без заголовков). Определим небольшую таблицу с тремя столбцами:

from tkinter import * from tkinter import ttk root = Tk() root.title("METANIT.COM") root.geometry("250x200") # определяем данные для отображения people = [("Tom", 38, "tom@email.com"), ("Bob", 42, "bob@email.com"), ("Sam", 28, "sam@email.com")] # определяем столбцы columns = ("name", "age", "email") tree = ttk.Treeview(columns=columns, show="headings") tree.pack(fill=BOTH, expand=1) # определяем заголовки tree.heading("name", text="Имя") tree.heading("age", text="Возраст") tree.heading("email", text="Email") # добавляем данные for person in people: tree.insert("", END, values=person) root.mainloop()

Здесь данные, которые будут отображаться в таблице, определены в виде списка people, который хранит набор кортежей. Каждый кортеж состоит из трех элементов. Условно будем считать, что первый элемент кортежа представляет имя пользователя, второй — возраст, а третий — электронный адрес. И эти данные нам надо отобразить в таблице:

people = [("Tom", 38, "tom@email.com"), ("Bob", 42, "bob@email.com"), ("Sam", 28, "sam@email.com")]

Для отображения этих данных определяем три столбца: name, age и email в виде кортежа и передаем их параметру columns :

columns = ("name", "age", "email") tree = ttk.Treeview(columns=columns, show="headings")

Далее нам надо настроить заголовки столбца с помощью метода heading() класса Treeview (по умолчанию столбцы не имеют никаких заголовков). Данный метод принимает ряд параметров:

tree.heading("name", text="Имя")

Первый параметр указывает на имя столбца. В примере выше определяем также параметр text , который определяет текст заголовка

И последний момент — добавляем сами данные в таблицу с помощью метода insert() класса Treeview

tree.insert("", END, values=person)

Первый параметр — пустая строка «» указывает, что элемент добавляется как элемент верхнего уровня (то есть у него нет родительского элемента). Значение END указывает, что элемент добавляется в конец набора. И параметр values в качестве добавляемых данных устанавливает кортеж person.

В итоге мы получим следующую таблицу:

Создание таблицы с помощью Treeview в Tkinter и python

Настройка столбца

Вполне возможно, что изначальные настройки столбцов нас не устроят. Например, текст заголовка располагается по умолчанию по центру, а данные столбца выравниваются по левому краю. Кроме того, каждый столбец имеет некоторую начальную ширину, в следствие чего ширина виджета может оказаться больше ширины окна. Либо мы захотим как-то иначе настроить вид столбца.

Прежде всего мы можем настроить заголовки столбца с помощью метода heading() :

heading(column, text, image, anchor, command)
  • column : имя настраиваемого столбца
  • text : текст заголовка
  • image : картинка для заголовка
  • anchor : устанавливает выравнивание заголовка по определенному краю. Может принимать значения n, e, s, w, ne, nw, se, sw, c
  • command : функция, выполняемая при нажатии на заголовок

Для настройки столбца в целом применяется метод column() :

column(column, width, minwidth, stretch, anchor)
  • column : индекс настраиваемого столбца в формате «# номер_столбца»
  • width : ширина столбца
  • minwidth : минимальная ширина
  • anchor : устанавливает выравнивание заголовка по определенному краю. Может принимать значения n, e, s, w, ne, nw, se, sw, c
  • stretch : указывает, будет ли столбец растягиваться при растяжении контейнера. Если будет, то значение True , иначе значение False

Применим некоторые из этих параметров:

from tkinter import * from tkinter import ttk root = Tk() root.title("METANIT.COM") root.geometry("250x200") # определяем данные для отображения people = [("Tom", 38, "tom@email.com"), ("Bob", 42, "bob@email.com"), ("Sam", 28, "sam@email.com")] # определяем столбцы columns = ("name", "age", "email") tree = ttk.Treeview(columns=columns, show="headings") tree.pack(fill=BOTH, expand=1) # определяем заголовки с выпавниваем по левому краю tree.heading("name", text="Имя", anchor=W) tree.heading("age", text="Возраст", anchor=W) tree.heading("email", text="Email", anchor=W) # настраиваем столбцы tree.column("#1", stretch=NO, width=70) tree.column("#2", stretch=NO, width=60) tree.column("#3", stretch=NO, width=100) # добавляем данные for person in people: tree.insert("", END, values=person) root.mainloop()

В данном случае для заголовков устанавливаем выравнивание по левому краю. Для столбцов запрещаем растяжение и устанавливаем ширину.

настройка столбцов в таблице в виджете Treeview в Tkinter и Python

При добавлении изображения оно помещается в правой части. Например, установка изображения для третьего столбца:

# предполагается, что в папке приложения располагается файл email_icon_micro.png email_icon = PhotoImage(file="./email_icon_micro.png") tree.heading("email", text="Email", anchor=W, image=email_icon)

картинка в заголовке столбца в таблице в виджете Treeview в Tkinter и Python

Добавление к Treeview прокрутки

from tkinter import * from tkinter import ttk root = Tk() root.title("METANIT.COM") root.geometry("250x200") root.rowconfigure(index=0, weight=1) root.columnconfigure(index=0, weight=1) # определяем данные для отображения people = [ ("Tom", 38, "tom@email.com"), ("Bob", 42, "bob@email.com"), ("Sam", 28, "sam@email.com"), ("Alice", 33, "alice@email.com"), ("Kate", 21, "kate@email.com"), ("Ann", 24, "ann@email.com"), ("Mike", 34, "mike@email.com"), ("Alex", 52, "alex@email.com"), ("Jess", 28, "jess@email.com"), ] # определяем столбцы columns = ("name", "age", "email") tree = ttk.Treeview(columns=columns, show="headings") tree.grid(row=0, column=0, sticky="nsew") # определяем заголовки tree.heading("name", text="Имя", anchor=W) tree.heading("age", text="Возраст", anchor=W) tree.heading("email", text="Email", anchor=W) tree.column("#1", stretch=NO, width=70) tree.column("#2", stretch=NO, width=60) tree.column("#3", stretch=NO, width=100) # добавляем данные for person in people: tree.insert("", END, values=person) # добавляем вертикальную прокрутку scrollbar = ttk.Scrollbar(orient=VERTICAL, command=tree.yview) tree.configure(yscroll=scrollbar.set) scrollbar.grid(row=0, column=1, sticky="ns") root.mainloop()

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

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