Главная страница
Навигация по странице:

  • Какая из функций отвечает правилам функционального программирования

  • Каким образом можно использовать lambda для возведения в степень 2 всех элементов списка a, состоящего из чисел

  • Правильный ответ выделен желтым


    Скачать 47.48 Kb.
    НазваниеПравильный ответ выделен желтым
    Дата25.09.2020
    Размер47.48 Kb.
    Формат файлаdocx
    Имя файлаOpros_2.docx
    ТипДокументы
    #139671

    ОПРОСЫ

    (неделя 2)

    Правильный ответ выделен желтым
    НЕДЕЛЯ 2
    ОПРОС №2.1
    Функция

    def f(a,b):

    ... return a+b

    применима:

    Вопрос 1

    1. к целым числам

    2. к вещественным числам

    3. к спискам

    4. к строкам

    5. к словарям


    Объяснение правильного ответа. Операция + замечательно применяется к строкам, числам, кортежам, спискам

    Даны функции:

    1.

    >>> def f1(a,b):

    return a+b

    2.

    >>> def f2(a,b):

    print(a+b)

    3.

    >>> def f3(a,b):

    global summ

    summ=a+b


    Какая из функций отвечает правилам функционального программирования?

    Вопрос 2

    1. ни одна

    2. 1

    3. 1 и 2

    4. 1 и3

    5. все


    Объяснение правильного ответа. Функции должны возвращать значения

    Каким из приведенных способов возможно применение функции к списку a=list(range(5)) для возведения всех элемента списка в квадрат?

    >>> def f4(x):

    return x**2


    к элементам списка a=list(range(5))?

    Вопрос 3

    1. a=[f4(i) for i in a]

    2. >>> for i in a:
      i=f4(i)

    3. for i in a: i=f4(i)

    4. a=list(map(f4,a))

    5. a=map(f4,a)


    Объяснение правильного ответа. map осуществляет применение функции к всем элементам списка, a=[f4(i) for i in a] использует возможности list comprehensions.

    Какая из приведенных функций правильно описывается т вызывается параметрами по-умолчанию:

    1:

    >>> def f1(a,b=5):

    return a+b

    >>> a=f1(3,4)
    2:

    >>> def f1(a,b=5):

    return a+b

    >>> a=f1(3)
    3:

    >>> def f1(a=5,b=5):

    return a+b

    >>> a=f1(3,4)
    4:

    >>> def f1(a=5,b):

    return a+b

    >>> a=f1(3,4)
    5:

    >>> def f1(a=5,b=5):

    return a+b

    >>> a=f1()

    Вопрос 4

    1. 1

    2. 2

    3. 3

    4. 4

    5. 5


    Объяснение правильного ответа. Параметры, задаваемые по умолчанию, должны следовать обязательно за обычными параметрами.

    При вызове функции с параметрами по умолчанию:

    >>> def f1(a=5,b=5):

    return a+b

    укажите правильные варианты вызова функции:

    Вопрос 5

    1. f1()

    2. f1(a=4,b=5)

    3. f1(4,z=7)

    4. f1(4,b=7)

    5. f1(a=4,5)


    Объяснение правильного ответа. Параметры, задаваемые по умолчанию, должны следовать обязательно за обычными параметрами.

    Для передачи в функцию кортежей и списков используется запись:

    Вопрос 6

    1. def f2(*args):

    2. def f2(**args):

    3. def f2(*kwargs):

    4. def f2(**kwargs):

    5. def f2(args):


    Объяснение правильного ответа. Для передачи произвольного индексируемых значений используется *.
    Для передачи в функцию словарей используется запись:

    Вопрос 7

    1. def f2(*args):

    2. def f2(**args):

    3. def f2(*kwargs):

    4. def f2(**kwargs):

    5. def f2(args):


    Объяснение правильного ответа. Для передачи произвольного значений с ключом используется **.

    Даны две функции:

    >>> def f1(a,b): return a+b

    >>> def f2(a,b): return a*b

    Каким образом должна быть записана функция, принимающая в качестве одного из параметров имя вышеописанных функций и ее вызов:
    Вопрос 8

    1. def ff(f,a,b): return f(a,b)
      ff(f1,3,4)

    2. def ff(a,b,f): return f(a,b)
      ff(3,4,f1)

    3. def ff(f,a,b): return f(a,b)
      ff(f=f1,3,4)

    4. def ff(f,a,b): return f(a,b)
      ff(3,4,f=f1)

    5. def ff(f,a,b=6): return f(a,b)
      ff(f1,3)


    Объяснение правильного ответа. Функции в Python являются объектами и могут быть переданы в другие функции в качестве параметра.


    ОПРОС №2.2
    Каково основное отличие функций, описываемых с помощью def и lambda

    Вопрос 1

    1. lambda использует 1 параметр

    2. lambda записывается в 1 строку

    3. lambda не использует сложных условий

    4. lambda не имеет имени

    5. lambda не может быть использовано в map()


    Объяснение правильного ответа. Определение lambda


    Каким образом можно использовать lambda для возведения в степень 2 всех элементов списка a, состоящего из чисел?

    Вопрос 2

    1. z=lambda x: x*x
      a=list(map(z,a))

    2. a=list(map(lambda x:x*x,a))

    3. a=list(map(lambda x:x**2,a))

    4. z=lambda x: x**2
      a=list(map(z,a))

    5. a=lambda a:a*a


    Объяснение правильного ответа. lambda является функцией и ничто функциональное ей не чуждо.

    Какой результат выдаст следующее выражение:

    from functools import reduce
    a=list(range(5))
    a1=reduce(lambda x,y:x*y,a)
    Вопрос 3

    1. 24

    2. 1

    3. 0

    4. 96

    5. 48


    Объяснение правильного ответа. reduce производит операции с накоплением результата, а элемент a[0]=0/




    написать администратору сайта