<jupyter_start><jupyter_text>**Задача 1.** Написать функцию, принимающую положительное целое число $n$ и возвращающую $n!$  **Задача 2.** Написать функцию, принимающую положительные целые числа $n$, $k$, которая вернёт $C_n^k$ **Задача 3.** Написать функцию, переводящую переданное целое число $n$ в двоичную систему счисления и возвращающую строку из нулей и единиц. **Задача 4.** Написать функцию, печатающую список чисел $[a_1, a_2, .., a_n]$ следующим образом: На первой строке - сам список На второй - "Колличество элементов - n" На третьей - "Среднее арифметическое равно = $\frac{1}{n}\sum\limits^n_1a_i$." (Необходимо вычислить нужные значения и подставить их вместо формул) **Задача 5.** Написать функцию, упорядочивающую два числа. То есть функция принимает числа $a$, $b$, а возвращает кортеж из двух элементов - первый - наименьшее число из $a$ и $b$, второй $-$ наибольшее. **Задача 6.** Вася решил посчитать сумму квадратов таких трехзначных чисел, сумма цифр которых равна $k$. Напишем функцию, решающую эту задачу. **6.1** Напишите функцию, возвращающую сумму цифр.<jupyter_code>def digits_sum(number):
    # your code goes here<jupyter_output><empty_output><jupyter_text>**6.2** Теперь напишите функцию, принимающую $k$ и возвращающую список трехзначных чисел, чья сумма цифр равна $k$. (Воспользуйтесь функцией digits_sum())<jupyter_code>def get_list_of_k_numbers(k):
    # code<jupyter_output><empty_output><jupyter_text>**6.3** Напишите функцию, принимающую список чисел и возвращающую сумму квадратов этого списка.<jupyter_code>def get_sum_of_squares(li):
    # code..<jupyter_output><empty_output><jupyter_text>**6.4** Наконец, используя эти функции, напишите функцию, решающую исходную задачу.<jupyter_code>def get_answer(k):
    # code..<jupyter_output><empty_output><jupyter_text>**Задача 7** Напишем функции, с помощью которых можно печатать разные комбинации геометрических фигур. **7.1** Напишите функции **draw_triangle(height, shape=0)**, принимающий высоту (height) и форму и рисующий соответствующий треугольник. Всего нужно реализовать две формы $-$ 0 - нарисовать равнобедренный треугольник; 1 - нарисовать прямоугольный треугольник. В каждом варианте треугольник должен *расширяться вниз*.<jupyter_code>#draw_triangle(3)
#|
#|    #
#|  # # # 
#|# # # # #
#|

#draw_triangle(4, 1)
#| #
#| # #
#| # # # 
#| # # # # 
#|
def draw_triangle(height, shape=0):
    # code ..
    pass<jupyter_output><empty_output><jupyter_text>**7.2** Напишите функцию **draw_rectangle(height, width, fill=True)**, принимающий соответствующие параметры. Переменная **fill** отвечает за *заполненность* прямоугольника.<jupyter_code>#draw_rectangle(3,4)
#|
#|# # # #
#|# # # #  
#|# # # #  
#|

#draw_rectangle(3,4,False)
#|
#|# # # #
#|#     #  
#|# # # #  
#|
def draw_rectangle(height, width, fill=True):
    # code ..
    pass<jupyter_output><empty_output><jupyter_text>**7.3\*** Напишите функцию **draw_circle(radius, fill=True)**, рисующую окружность радиуса **radius**.<jupyter_code>def draw_circle(radius, fill=True):
    # code..
    pass
draw_circle(10)<jupyter_output>@ @ @ @ @ @ @ @      
         @ @ @ @ @ @ @ @ @ @ @ @    
       @ @ @ @ @ @ @ @ @ @ @ @ @ @   
     @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  
     @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  
   @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
   @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
   @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
   @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
   @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
   @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
     @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  
     @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  
       @ @ @ @ @ @ @ @ @ @ @ @ @ @   
         @ @ @ @ @ @ @ @ @ @ @ @    
             @ @ @ @ @ @ @ @<jupyter_text>**7.4** Напишите функции **get_triangle(height, shape)**, **get_rectangle(height, width, fill=True**, **get_circle(radius, fill=True)**, не рисующие фигуры, а возвращающие строки, которые при печати создадут нужные фигуры. Например **print(get_rectangle(5,5))** напечатает то же самое, что и **draw_rectangle(5,5)** **7.5** Напишите функцию **print_reversed_right_triangle(height)**, рисующий прямоугольный треугольник, описанный выше, отраженный относительно вертикальной оси. **7.6** Напишите функцию **concatenate(s1, s2, shift)**, принимающую на вход две строки **s1** и **s2**, соответствующие картинкам каких-то фигур и целое число **shift**, и возвращающую строку, при печати которой эти картинки печатаются друг за другом, разделенные **shift** пробелами. **7.7** Напишите функцию **get_tree(heights, vertical_shift=0)**, принимающую кортеж целых чисел длины $k$ $-$ **heights** и возвращающую строку, при печати которой нарисуется ёлочка, состоящая из $k$ равнобедренных треугольников с высотами из **heights**. Если указан параметр **vertical_shift**, ёлочка должна быть сдвинута вниз на **vertical_shift** строк.<jupyter_code># example
#print(get_tree((2, 2, 3)))
#|    *
#|  * * *
#|    *
#|  * * *
#|    *
#|  * * *
#|* * * * *
#
# that is the string to return is 
to_return ='    *\n  * * *\n    *\n  * * *\n    *\n  * * *\n* * * * *\n'
print(to_return)<jupyter_output>*
  * * *
    *
  * * *
    *
  * * *
* * * * *<jupyter_text>**7.8** Напишите функцию **draw_forest(heights_list, shifts)**, принимающую список кортежей длины $n$ $-$ **heights_list** и список отступов длины $(n-1)$ $-$ **shifts** и рисующую лес из $n$ деревьев. Каждое дерево состоит из равнобедренных треугольников, нарисованных друг под другом по правилу из предыдущей задачи. **Задача 8** Напишите функцию **pipeline(functions, parameter)**, принимающую список функций **functions = [$f_1, f_2, ..., f_n$]** и переменную **parameter**, и возвращающую **$f_1(f_2(...f_n(parameter))..)$**<jupyter_code>def pipeline(functions, parameter):
    # code..
    pass<jupyter_output><empty_output><jupyter_text>**Задача 9** Напишите функцию **get_pipeline_func(functions)**, принимающую список функций **functions** = **[$f_1, f_2, ..., f_n$]** и возвращающую функцию $f_1(f_2(...f_n(x))..)$<jupyter_code>def get_pipeline_func(functions):
    # code..
    pass<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.17529683377308708, 'fraction_numerical': 0.01170844327176781, 'mean_word_length': 4.054166666666666, 'pattern_counts': {'":': 0, '<': 39, '<?xml version=': 0, '>': 39, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 34, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '10', 'dir': 'jupyter-structured-clean-dedup', 'id': '578360', 'license': 'MIT', 'n_tokens_mistral': 2665, 'n_tokens_neox': 2934, 'n_words': 494, 'path': 'materials/FunctionProblems.ipynb', 'repo_name': 'Antieight/LearnPython', 'size': '6064'}