Модуль 9.8 Функция isinstance для проверки типов данных.
Отметьте все верные пункты для функций isinstance и type.
пример вызова функции: isinstance(x, float)
пример вызова функции: type(x) in (float, int)
функция isinstance выполняет проверку типов с учетом их наследования
пример вызова функции: type(x) == bool
пример вызова функции: type(x) is int
функция type возвращает фактический тип для переданного ей аргумента (без учета наследования)
пример вызова функции: isinstance(x, (str, float))
Определите функцию с именем get_add, которая складывает или два числа или две строки (но не число со строкой) и возвращает полученный результат. Если сложение не может быть выполнено, то функция возвращает значение None. Сигнатура функции должна быть, следующей:
def get_add(a, b): …
Вызывать функцию не нужно, только определить. Также ничего не нужно выводить на экран.
P. S. Не забудьте про необходимость различения булевых значений (False, True) от целочисленных.
def get_add(a, b): # Проверяем, что a и b не являются булевыми значениями # Если одно из значений - булево, то сразу возвращаем None if type(a) != bool != type(b): # Проверяем, что a и b являются обоими числами (int или float) или обоими строками if isinstance(a, (int, float)) == isinstance(b, (int, float)): # Если это числа, то складываем их и возвращаем результат return a + b elif isinstance(a, str) == isinstance(b, str): # Если это строки, то конкатенируем их и возвращаем результат return a + b
Определите функцию с именем get_sum, которая принимает на входе итерируемый объект (список, строку, кортеж, словарь, множество) и вычисляет сумму только целых чисел, взятых из элементов итерируемого объекта. Вычисленная сумма возвращается функцией. Если целых чисел нет, то возвращается 0.
Сигнатура функции должна быть, следующей:
def get_sum(it): …
Вызывать функцию не нужно, только определить. Также ничего не нужно выводить на экран.
Примеры входного аргумента функции:
get_sum([1,2,3, «a», True, [4, 5], «c», (4, 5)])
get_sum({5, 6, 7, ‘8’, 5, ‘4’})
get_sum((10, «f», ’33’, True, 12))
get_sum([‘1’, True, False, (1, 23)])P. S. Не забудьте про необходимость различения булевых значений (False, True) от целочисленных.
def get_sum(itr): # Функция sum() принимает итерируемый объект и возвращает сумму его элементов # Для каждого элемента x из itr вычисляем x, если x является целым числом, иначе 0. # Используем генератор списка, чтобы создать список из всех x или 0, соответствующих каждому элементу itr. # Затем функция sum() возвращает сумму элементов этого списка, что дает сумму всех целых чисел в itr. return sum(x if type(x) == int else 0 for x in itr)
Определите функцию с именем get_even_sum, которая принимает на входе итерируемый объект (список, строку, кортеж, словарь, множество) и вычисляет сумму только целых четных чисел, взятых из элементов итерируемого объекта. Результат возвращается функцией. Если целых чисел нет, то возвращается 0.
Сигнатура функции должна быть, следующей:
def get_even_sum(it): …
Вызывать функцию не нужно, только определить. Также ничего не нужно выводить на экран.
P. S. Не забудьте про необходимость различения булевых значений (False, True) от целочисленных.
def get_even_sum(it): # Функция filter фильтрует элементы итерируемого объекта it # Оставляет только элементы, для которых результат выполнения лямбда-функции равен True # В данном случае, лямбда-функция проверяет, является ли элемент целым числом и четным # Если да, то элемент сохраняется в результате фильтрации # Используется встроенная функция sum, чтобы найти сумму оставшихся элементов # Если после фильтрации не осталось ни одного элемента, то возвращается 0 return sum(filter(lambda x: type(x) is int and not x % 2, it), 0)
Определите функцию с именем get_list_dig, которая возвращает список только из числовых значений переданной ей коллекции (список или кортеж).
Сигнатура функции должна быть, следующей:
def get_list_dig(lst): …
Вызывать функцию не нужно, только определить. Также ничего не нужно выводить на экран.
P. S. Не забудьте про необходимость различения булевых значений (False, True) от целочисленных.
def get_list_dig(lst): # Создание пустого списка для хранения найденных чисел list_dig = [] # Итерация по элементам входного списка for i in lst: # Проверка, что элемент не является логическим значением (bool) if type(i) != bool: # Проверка, что элемент является числом (int или float) if isinstance(i, (int, float)): # Добавление числа в список найденных чисел list_dig.append(i) # Возврат списка найденных чисел return list_dig
Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы