Функции. Посчитать количества одинаковых элементов в списке
Тема: Функции
Для хранения количества каждого встречающегося в списке значения создадим словарь. В нем ключами будут числа, которое встречается в списке, а значениями - количества этих чисел в списке. Для примера, приведенного выше, в итоге должен был бы получиться такой словарь: {1:3, 3:2, 2:1, 4:1}.
Пусть в программе будет функция, которая заполняет список случайными числами в диапазоне и количестве, указанными пользователем.
Другая функция будет считать количество каждого значения и заносить данные в словарь. Алгоритм подсчета заключается в следующем. Если очередной элемент списка уже есть в качестве ключа словаря, то следует увеличить значение этого ключа на единицу. Если очередного элемента списка нет в качестве ключа в словаре, то такой ключ следует добавить и присвоить ему значение, равное единице.
Для того, чтобы вывести содержимое словаря в отсортированном по возрастанию ключей виде, используется функция sorted(). Она сортирует ключи словаря.
lst = [] dct = {} def make_list(minumum, maximum, qty): from random import random for i in range(qty): lst.append(int(random()*(maximum-minumum+1))+minumum) def analysis(): for i in lst: if i in dct: dct[i] += 1 else: dct[i] = 1 mn = int(input('Минимум: ')) mx = int(input('Максимум: ')) qty = int(input('Количество элементов: ')) make_list(mn,mx,qty) analysis() for i in sorted(dct): print("'%d':%d" % (i,dct[i])
Минимум: -10 Максимум: 10 Количество элементов: 20 '-8':1 '-7':2 '-6':1 '-5':1 '-3':3 '-1':1 '0':4 '4':1 '5':2 '7':2 '8':1 '10':1
Комментариев нет:
Отправить комментарий