Задача 1:
def rec(s):
if len(s) == 0:
return s #Если длина множества равна нулю, мы возвращаем пустое множество
for value in s:
a = [] #Присваиваем в переменную a пустой список
a.append(value) #Добавляем в список значение из множества
break #Останавливаем цикл
s.discard(a[0]) #Удаляем элемент из множества, который находится в списке на нулевой позиции
return rec(s) #Вызываем рекурсивную функцию для нового множества
print(rec(#любое множество))
Задача 2
spisok = [1745345,98726,439872634,7312,64872,
123687126,9312,4124,231,3123,34,3453]
anom = lambda x : x * 1.185 #Создание анонимной функции
new_spisok = [] #Будущий список с новыми значениями
for value in spisok:
new_spisok.append(float('%.3f' % anom(value))) #Добавляем в новый список значение, которое обработало анонимная функция (умножила на 1.185).
print(new_spisok)
'%.3f' % anom(value) означает, что мы форматируем наше число до 3 знаков после запятой (f - для форматирования в виде числа с плавающей запятой, % - форматирующий оператор). После форматирования, на выходе, мы получаем строку, поэтому строку нужно преобразовать назад в вещественный тип данных (float('%.3f' % anom(value)))
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())
Вот мой вариант решения)
begin
writeln ('Количество человек в классе:'); readln(N);
writeln ('Количество пятёрок:'); readln (A);
writeln ('Количество четвёрок:'); readln(B);
writeln ('Количество троек;'); readln(C);
writeln ('Процент пятёрок: ', A*100 div N,'% ', 'Процент четвёрок: ', B*100 div N, '% ', 'Процент троек: ',C*100 div N, '% '); readln;
end.