Дан список из 2000 элементов, созданный при my_list = [(lambda x: (x*296+2410)%4096)(i) for i in range(2000)] доставая из него значения при операции x = my_list.pop() и проверяя длину оставшегося списка через len(my_list), найти количество элементов, равных второму по минимальности значению (отличных по значению от первого минимума).

nuraneferidxalideemi nuraneferidxalideemi    1   01.08.2019 22:00    1

Ответы
anyakoi anyakoi  29.09.2020 11:49
#генерируем список из 2000 элементов
my_list = [(lambda x:(x*296+2410)%4096)(i) for i in range(2000)]

# начальное значение для временного минимума
min1_value = min2_value = 10000
min1_number = min2_number = 0

while my_list:
    x = my_list.pop()
    if x < min1_value:
        min2_value = min1_value
        min2_number = min1_number
        min1_value = x
        min1_number = 1
    elif x == min1_value:
        min1_number += 1
    elif x < min2_value:
        min2_value = x
        min2_number = 1
    elif x == min2_value:
        min2_number += 1
        
print(min2_number)
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика