Когда вы устанавливаете новые программы в терминале, вы могли часто видеть появляющиеся информативные диалоговые блоки для обратной связи с вами. Типы диалоговых блоков различны: от простых диалогов да/нет до полей ввода, блоков паролей, чеклистов, меню и так далее. Преимущества использования таких дружественных к пользователю блоков очевидны, ведь они интуитивно направляют вас для ввода необходимой информации.
Когда вы пишите интерактивный шелл скрипт, вы на самом деле можете использовать такие диалоговые блоки для принятия ввода пользователя. Будучи предварительно установленной на всех современных дистрибутивах Linux, программа под названием whiptail может упростить процесс создания шелл скриптом диалоговых и информационных блоков в терминале наподобие тех, что графических интерфейсов, что кодируют Zenity или Xdialog для скриптов.
В этом уроке я опишу как с использованием whiptail создать дружественный пользователю диалоговые блоки в шел скрипте. Я также покажу Баш фрагменты кода различных диалоговых блоков, поддерживаемых в whiptail. (надеюсь подойдет)
#1
lst = [int(i) for i in input().split()]
print(len(set(lst)))
#2
import statistics
lst = [int(i) for i in input().split()]
print(statistics.mode(lst))
Объяснение:
#1
set() не изменяет состояния списка, передаваемого аргументом. Возвращает объект типа set, представляющий собой множество уникальных объектов, входивших в изначальный список. Длина этого множества и есть кол-во уникальных элементов в изначальном списке
#2
Модуль statistics является встроенным модулем Python (предоставляется пользователю "из коробки", без нужды качать что либо), и предоставляет набор функций и классов для работы со статистикой. Функция statistics.mode([iterable]) возвращает самый часто встречающийся элемент переданного ей списка (или любого другого итерируемого объекта)