Решение модуля 15.1 Поколение Python: для продвинутых

Модуль 15.1 (Необязательные и именованные аргументы) курса «Поколение Python: курс для продвинутых» курс расскажет о:

  • Позиционные аргументы
  • Необязательные аргументы
  • Именованные аргументы

Публикуем решения на урок 15.1 Необязательные и именованные аргументы.

Аргументы функции, которые передаются без указания имен, называются

позиционными

Аргументы функции, которые передаются вместе с именами, называются

именованными

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


если функция принимает аргументы, которые имеют одинаковый тип
если функция принимает больше трёх аргументов

Выберите правильные способы вызова функции my_func(), которая была определена так:
def my_func(x, y):

my_func(x=10, y=20)
my_func(10, y=20)
my_func(10, 20)

Какой вариант вызова функции greet() соответствует стандарту PEP 8?

Вариант А:
greet(name=’Timur’, msg=’Good morning!’)
Вариант Б:
greet(name = ‘Timur’, msg = ‘Good morning!’)

Вариант А

Где при вызове функции нужно указывать именованные аргументы?

после позиционных аргументов

Аргументы функции, имеющие значения по умолчанию, называются

необязательными

Что выведет следующий код?

def fancy(length, char1, char2):
return (char1 + char2) * length + char1

print(fancy(5, ‘-‘, ‘*’))

-*-*-*-*-*-

Что выведет следующий код?

def fancy(length, char1=’-‘, char2=’*’):
return (char1 + char2) * length + char1

print(fancy(3))

-*-*-*-

Что выведет следующий код?

def fancy(length, char1=’-‘, char2=’*’):
return (char1 + char2) * length + char1

print(fancy(3, ‘.’))

.*.*.*.

Что выведет следующий код?

def fancy(length, char1=’-‘, char2=’*’):
return (char1 + char2) * length + char1

print(fancy(2, ‘:’, ‘|’))

:|:|:

Что выведет следующий код?

def fancy(length, char1=’-‘, char2=’*’):
return (char1 + char2) * length + char1

print(fancy(4, char2=’#’))

-#-#-#-#-

Что выведет следующий код?

def fancy(length, char1=’-‘, char2=’*’):
return (char1 + char2) * length + char1

print(fancy(char2=’$’, length=3))

-$-$-$-

Что выведет следующий код?

def fancy(length, char1=’-‘, char2=’*’):
return (char1 + char2) * length + char1

print(fancy(char2=’!’))


произойдет ошибка во время выполнения программы

Напишите функцию matrix(), которая создает, заполняет и возвращает матрицу заданного размера. При этом (в зависимости от переданных аргументов) она должна вести себя так:

matrix() — возвращает матрицу 1 \times 11× 1, в которой единственное число равно нулю;
matrix(n) — возвращает матрицу n \times nn× n, заполненную нулями;
matrix(n, m) — возвращает матрицу из nn строк и mm столбцов, заполненную нулями;
matrix(n, m, value) — возвращает матрицу из nn строк и mm столбцов, в которой каждый элемент равен числу value.

При создании функции пользуйтесь аргументами по умолчанию.

def matrix(n =1,m = 0, a = 0):
    if n == 1 and not m:
        m = 1
    elif n != 1 and not m:
        m = n
    return [[a]*m for _ in range(n)]

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector