Автор оригинала: Robin Andrews.
Этот пост написан для читателей с различными уровнями опыта с программированием Python, а также с математикой. В зависимости от вашего опыта и процентов, вы получите разные вещи от чтения. Он содержит программу Python для печати и аккуратного форматирования цветных размножеств и таблиц добавления и включает в себя Кодирование ДНК Для достижения следующего с программированием Python:
- Печать текста с цветными фонами и передним планом в консоли с помощью Python
- Создайте аккуратно отформатированные таблицы с несколькими строками кода
- Создайте умножение и таблицы добавления для «нормальной» арифметики
- Создайте и исследовать умножение и таблицы добавления для «конечной арифметики», образованной с помощью оператора модуля
- Пропускать операторы как аргументы для функций
- Выровняйте и укажите ширину отформатированных строк
Я начну, просто поделись некоторым кодом, а затем мы обсудим, что это делает, как это это делает и как его использовать для своих собственных целей. Вы можете получить доступ к коду на repl.it или внизу этого поста, где я предоставим полный список.
Python Program для отображения умножения и таблицы добавления – онлайн-версия
На одном уровне это инструмент для изучения базовых умножений и таблиц добавления в цвете Python, который может быть полезен в контексте преподавания (или самоучения). Для программиста Python, тем не менее, он использует некоторые очень полезные инструменты, которые вы можете захотеть включить в наши собственные проекты.
Цветной текст в консоли с модулем Python Colorama
Чтобы использовать этот модуль, вам нужно будет установить с PIP Instal Colorama Отказ Вы можете найти модуль вместе с документацией здесь: Колорама Отказ Ниже приведен основной пример его использования.
from colorama import init, Fore, Back, Style
init()
print(Fore.GREEN + 'green, '
+ Fore.RED + 'red, '
+ Fore.RESET + 'normal, '
, end='')
print(Back.GREEN + 'green, '
+ Back.RED + 'red, '
+ Back.RESET + 'normal, '
, end='')
print(Style.DIM + 'dim, '
+ Style.BRIGHT + 'bright, '
+ Style.NORMAL + 'normal'
, end=' ')
print()
Это дает следующий вывод в PowerShell:
Некоторые цвета различны на PowerShell VS CMD, а также появятся различными в разных операционных системах и средах. Вам может потребоваться выбирать из доступных цветов, чтобы поддерживать читабельность. Полный список доступных цветов:
Черный, красный, зеленый, желтый, синий, пурпурный, голубой, белый, сброс + Некоторые более легкие версии, сделанные как Lightmagenta_ex от основных цветов только что перечислены.
Есть еще несколько демонстраций, доступных на Страница GitHub для проекта.
Печать аккуратно отформатированных таблиц с модулем Tabulate Python
Python Tabulate Модуль модуль позволяет печатать аккуратно отформатированные таблицы, не беспокоясь о том, чтобы вручную позиционировать ваши данные, чтобы сделать его понятным и легко читаемым. Это довольно аккуратный модуль и стоит экспериментировать, когда у вас есть табличные данные, которые вы хотите отобразить в консоли из программы Python.
from tabulate import tabulate table = [["Sun", 696000, 1989100000], ["Earth", 6371, 5973.6], ["Moon", 1737, 73.5], ["Mars", 3390, 641.85]] headers = ["Planet", "R (km)", "mass (x 10^29 kg)"] print(tabulate(table, headers, tablefmt="pretty")) +--------+--------+-------------------+ | Planet | R (km) | mass (x 10^29 kg) | +--------+--------+-------------------+ | Sun | 696000 | 1989100000 | | Earth | 6371 | 5973.6 | | Moon | 1737 | 73.5 | | Mars | 3390 | 641.85 | +--------+--------+-------------------+
Прохождение операторов как функциональные аргументы
Это не то, что вы обычно можете обойти без помощи импортируемого модуля. Оператор Модуль – наш друг здесь. Вы можете прочитать о доступных методах и т. Д. здесь Отказ В нашей программе мы импортируем только имена операторов, которые нам нужны: Добавить , Мул и Пау , но гораздо больше доступны.
Исследуя конечную арифметику с таблицами Python Cayley
Обычно это довольно продвинутая тема в математике от ветви, называемой Абстрактная алгебра , но на самом деле кто-нибудь интересует Модульная арифметика Можно использовать этот инструмент для изучения того, как работает оператор Modulo. Программа создает то, что называется Кайли столы (В основном просто умножения/добавочные таблицы, но для наборов элементов, отличных от набора всех целых чисел). Цветная функциональность, предоставленная Колорама позволяет легко увидеть узоры в таблицах, созданных с разными значениями и операторами. Это может быть увлекательным расследованием для тех, кому нравится такая вещь. Полная программа представлена ниже.
Python Cayley Table Chatable с цветным дисплеем и отформатированным выходом
from tabulate import tabulate
from operator import add, mul, pow
from colorama import init, Back, Fore
BACKS = [Back.BLACK, Back.LIGHTRED_EX, Back.GREEN, Back.LIGHTBLUE_EX, Back.LIGHTMAGENTA_EX, Back.CYAN]
NUM_COLORS = len(BACKS)
def bin_op(a, b, op, mod):
return op(a, b) % mod
def cayley_table(vals, mod, op=mul):
if op == add:
op_sign = "+"
elif op == mul:
op_sign = "*"
elif op == pow:
op_sign = "^"
else:
print("Operator not allowed.")
raise SystemExit
length = len(vals)
headers = [op_sign]
headers.extend(vals)
table = [[None] * length for _ in range(length)]
for i in range(length):
for j in range(length):
val = bin_op(vals[i], vals[j], op, mod)
color = BACKS[val % NUM_COLORS] # Use several colours without running out.
# color = BACKS[1] if val % 2 == 0 else BACKS[2] # Simple even/odd color scheme
table[i][j] = f"{color}{val:3}{Back.RESET}"
print(tabulate(table, headers, tablefmt="pretty", showindex=row_ids))
if __name__ == "__main__":
init()
n = 5 # size of table
# mod = n ** 2 + 1 # Full table no mod
mod = n
# vals = list(range(1, n + 1)) # no zeros, go all the way to n
vals = list(range(n))
row_ids = vals
cayley_table(vals, mod, mul) # options for final param are mul, add or pow
Так что там у вас есть – много происходит в этой статье. Надеюсь, будет что-то там, вы можете использовать. Дайте мне знать в комментариях, если вы нашли это полезным. Счастливые вычисления!