Напишите функцию которая генерирует 100 рандомных чисел в диапазоне от 10 до 50 и возвращает их в листе. Напишите ДЕКОРАТОР для этой функции которая удалит все дубликаты в первой функции и вернёт всё так же лист. ОТВЕТЬТЕ
Пусть уже ответили, не пропадать же работе даром)) program test; var a:array[1..10,1..10] of integer; min,max,i,i1,sum,sum2:integer; begin for i:=1 to 10 do begin for i1:=1 to 10 do begin a[i,i1]:=random(1,100); write(a[i,i1]:4); end; writeln; end; writeln('ГЛАВНАЯ ДИАГОНАЛЬ'); min:=a[1,1]; for i:=1 to 10 do begin for i1:=i to 10 do begin sum:=sum+a[i,i1]; if a[i,i1]>max then max:=a[i,i1]; if a[i,i1]<min then min:=a[i,i1]; end; end; writeln('сумма ',sum); writeln('Максимальное ',max); writeln('Минимальное ',min); sum:=0; writeln('ПОБОЧНАЯ ДИАГОНАЛЬ'); min:=a[1,1]; for i:=10 downto 1 do begin for i1:=1 to i do begin sum:=sum+a[i,i1]; if a[i,i1]>max then max:=a[i,i1]; if a[i,i1]<min then min:=a[i,i1]; end; end; writeln('сумма ',sum); writeln('Максимальное ',max); writeln('Минимальное ',min); end.
Алгоритм - этоa. описание последовательности действий для решения задачи или достижения поставленной цели;b. правила выполнения основных операций обработки данных;c. описание вычислений по математическим формулам.Перед началом разработки алгоритма необходимо четко уяснить задачу: что требуется получить в качестве результата, какие исходные данные необходимы и какие имеются в наличии, какие существуют ограничения на эти данные. Далее требуется записать, какие действия необходимо предпринять для получения из исходных данных требуемого результата.На практике наиболее распространены следующие формы представления алгоритмов: словесная (записи на естественном языке); графическая (изображения из графических символов); псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.); программная (тексты на языках программирования).Словесный записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.Пример. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел.Алгоритм может быть следующим:1. задать два числа;2. если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма;3. определить большее из чисел;4. заменить большее из чисел разностью большего и меньшего из чисел;5. повторить алгоритм с шага 2.Описанный алгоритм применим к любым натуральным числам и должен приводить к решению поставленной задачи. Убедитесь в этом самостоятельно, определив с этого алгоритма наибольший общий делитель чисел 125 и 75.Словесный не имеет широкого распространения по следующим причинам: такие описания строго не формализуемы; страдают многословностью записей; допускают неоднозначность толкования отдельных предписаний.Графический представления алгоритмов является более компактным и наглядным по сравнению со словесным.При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий.
import random
def func_decorator(function): # Функция декоратор
def inner_func():
func = function() # Присваиваем результат функции random_list в переменную func
b = [] # Создаём пустой список для сортировки
for i in func :
if i in b:
continue # Если значение уже присутствует в списке, мы его пропускаем
elif not i in b:
b.append(i) # Если значения нету в списке, мы его добавляем
return b
return inner_func
@func_decorator
def random_list():
return random.choices(range(10, 51), k = 100)
# @func_decorator это тоже самое что и: random_list = func_decorator (random_list)
# random.choices (population, k=1). Возвращает список элементов размером k , выбранных из последовательности population
print(random_list())
Вот мой вариант решения)