linkedin-skill-assessments-quizzes

Python (Мова програмування)

Q1. Що таке абстрактний клас?

Довідка

Q2. Що відбувається, коли ви використовуєте вбудовану функцію any() для списку?

приклад
if any([True, False, False, False]) == True:
    print('Yes, there is True')
>>> 'Yes, there is True'

Q3. У яку структуру даних перетворюється бінарне дерево, якщо воно не збалансоване належним чином?

Довідка

Q4. Яке твердження про статичні методи є правильним?

Довідка

Q5. Що таке атрибути?

Пояснення: Атрибути визначаються під класом, а аргументи — під функціями. Аргументи зазвичай стосуються параметрів, тоді як атрибути є конструкторами класу або екземпляра класу.

Q6. Як називається цей код?

count, fruit, price = (2, 'apple', 3.5)

Довідка

Q7. Який вбудований метод списку використовується для видалення елементів зі списку?

Довідка

приклад
my_list = [1,2,3]
my_list.pop(0)
my_list
>>>[2,3]

Q8. Яке одне з найпоширеніших використань бібліотеки sys у Python?

Довідка

Q9. Яка складність доступу до значення в словнику за допомогою його ключа?

Q10. Який правильний синтаксис для визначення класу під назвою Game, якщо він успадковується від батьківського класу під назвою LogicGame?

Пояснення: Батьківський клас, який успадковується, передається як аргумент дочірньому класу. Тому тут правильна відповідь — перший варіант.

Q11. Який правильний формат для написання doctest?

def sum(a, b):
    """
    sum(4, 3)
    7

    sum(-4, 5)
    1
    """
    return a + b
def sum(a, b):
    """
    >>> sum(4, 3)
    7

    >>> sum(-4, 5)
    1
    """
    return a + b
def sum(a, b):
    """
    # >>> sum(4, 3)
    # 7

    # >>> sum(-4, 5)
    # 1
    """
    return a + b
def sum(a, b):
    ###
    >>> sum(4, 3)
    7

    >>> sum(-4, 5)
    1
    ###
    return a + b

Пояснення: Використовуйте ''' для початку документації та додайте результат після >>>.

Q12. Який вбудований тип даних Python зазвичай використовується для представлення стека?

Q13. Що поверне цей вираз?

college_years = ['Freshman', 'Sophomore', 'Junior', 'Senior']
return list(enumerate(college_years, 2019))

Q14. Яка мета ключового слова “self” при визначенні або виклику методів екземпляра?

Довідка

Простий приклад

class my_secrets:
    def __init__(self, password):
        self.password = password
        pass
instance = my_secrets('1234')
instance.password
>>>'1234'

Q15. Яка з цих характеристик НЕ є властивістю namedtuples?

Необхідно імпортувати за допомогою: from collections import namedtuple

Q16. Що таке метод екземпляра?

Q17. Яке твердження НЕ описує концепцію інкапсуляції в об’єктно-орієнтованому програмуванні?

Довідка

Q18. Яке призначення оператора if/else?

Довідка

Q19. Який вбудований тип даних Python найкраще підходить для реалізації черги?

Q20. Який правильний синтаксис для створення нового об’єкта типу Game?

Довідка

Q21. Що робить вбудована функція map()?

Довідка

Пояснення: - Синтаксис функції map() такий: list(map(function,iterable)). Простий приклад знаходження площі за допомогою map виглядатиме так:

import math
radius = [1,2,3]
area = list(map(lambda x: round(math.pi*(x**2), 2), radius))
area
>>> [3.14, 12.57, 28.27]

Q22. Що відбувається, якщо явно не повернути значення з функції?

Довідка. Коли оператор return є None, або немає значення, або відсутній оператор return, функція повертає None.

Q23. Яке призначення оператора pass у Python?

Оператор pass використовується як заповнювач для майбутнього коду. Коли виконується оператор pass, нічого не відбувається, але ви уникаєте помилки, коли порожній код не дозволений. Довідка

Q24. Як називаються елементи, які можуть бути передані у функцію?

Q25. Який тип колекції використовується для асоціювання значень з унікальними ключами?

Довідка

Q26. Коли цикл For припиняє ітерацію?

Довідка

Q27. Припустимо, що вузол знаходиться в однозв’язному списку. Яка складність пошуку конкретного вузла в однозв’язному списку?

Q28. Маючи наступні три списки, як створити новий список, який відповідає бажаному результату, надрукованому нижче?

fruits = ['Яблука', 'Апельсини', 'Банани']
quantities = [5, 3, 4]
prices = [1.50, 2.25, 0.89]

#Бажаний вивід
[('Яблука', 5, 1.50),
('Апельсини', 3, 2.25),
('Банани', 4, 0.89)]
output = []

fruit_tuple_0 = (first[0], quantities[0], price[0])
output.append(fruit_tuple)

fruit_tuple_1 = (first[1], quantities[1], price[1])
output.append(fruit_tuple)

fruit_tuple_2 = (first[2], quantities[2], price[2])
output.append(fruit_tuple)

return output
i = 0
output = []
for fruit in fruits:
    temp_qty = quantities[i]
    temp_price = prices[i]
    output.append((fruit, temp_qty, temp_price))
    i += 1
return output
groceries = zip(fruits, quantities, prices)
return groceries

>>> [
('Яблука', 5, 1.50),
('Апельсини', 3, 2.25),
('Банани', 4, 0.89)
]
i = 0
output = []
for fruit in fruits:
    for qty in quantities:
        for price in prices:
            output.append((fruit, qty, price))
    i += 1
return output

Q29. Що відбувається, коли ви використовуєте вбудовану функцію all() для списку?

Довідка

Пояснення: all() повертає True, якщо всі елементи у списку є True. Дивіться приклад нижче:

test = [True, False, False, False]
if all(test) is True:
    print('Yeah, all of them are true.')
else:
    print('There is an imposter.')

>>> 'There is an imposter'

Q30. Який правильний синтаксис для виклику методу екземпляра класу під назвою Game?

(Формат відповіді може відрізнятися. Game і roll (або dice_roll) повинні бути викликані без параметрів.)

>>> dice = Game()
>>> dice.roll()
>>> dice = Game(self)
>>> dice.roll(self)
>>> dice = Game()
>>> dice.roll(self)
>>> dice = Game(self)
>>> dice.roll()

Q31. Яка алгоритмічна парадигма сортування швидким методом?

І сортування злиттям, і швидке сортування використовують загальну алгоритмічну парадигму, засновану на рекурсії. Ця парадигма, розділяй і володарюй, розбиває проблему на підпроблеми, подібні до вихідної проблеми, рекурсивно вирішує підпроблеми та, нарешті, об’єднує рішення підпроблем для вирішення вихідної проблеми. Довідка

Q32. Яка складність часу виконання вбудованого методу списку .append()?

Ця функція має постійну складність часу, тобто O(1), оскільки списки мають випадковий доступ, тому останній елемент можна досягти за час O(1), тому час, необхідний для додавання нового елемента в кінець списку, дорівнює O(1).

Q33. У чому ключова відмінність між set і list?

Q34. Що таке абстракція в контексті об’єктно-орієнтованого програмування на Python?

Абстракція в Python визначається як процес обробки складності шляхом приховування непотрібної інформації від користувача. Довідка

Q35. Що виведе ця функція?

def print_alpha_nums(abc_list, num_list):
    for char in abc_list:
        for num in num_list:
            print(char, num)
    return

print_alpha_nums(['a', 'b', 'c'], [1, 2, 3])
a 1
a 2
a 3
b 1
b 2
b 3
c 1
c 2
c 3
['a', 'b', 'c'], [1, 2, 3]
aaa
bbb
ccc
111
222
333
a 1 2 3
b 1 2 3
c 1 2 3

Q36. Виберіть правильне представлення doctest для функції в Python

def sum(a, b):
    # a = 1
    # b = 2
    # sum(a, b) = 3

    return a + b
def sum(a, b):
    """
    a = 1
    b = 2
    sum(a, b) = 3
    """

    return a + b
def sum(a, b):
    """
    >>> a = 1
    >>> b = 2
    >>> sum(a, b)
    3
    """

    return a + b
def sum(a, b):
    '''
    a = 1
    b = 2
    sum(a, b) = 3
    '''
    return a + b

Пояснення: Використовуйте """ для початку та завершення рядка документації та використовуйте >>> для представлення результату. Якщо ви правильно це напишете, ви також можете запустити doctest за допомогою вбудованого модуля doctest.

Q37. Припустимо, клас Game успадковується від двох батьківських класів: BoardGame і LogicGame. Яке твердження є правильним щодо методів об’єкта, створеного з класу Game?

Q38. Що повертає виклик namedtuple для колекційного типу?

# функція namedtuple приймає наступні аргументи для створення класу
from collections import namedtuple
>>> Point = namedtuple('Point',['x','y'])
>>> point = Point(100, 200)
>>> point
    Point(x=100, y=200)

# Що дозволяє використовувати як розпакування, так і ітерацію для доступу
>>> x, y = point
>>> print(f'({x}, {y})')
    (100, 200)
>>> for coordinate in point:
        print(coordinate)
    100
    200

Довідка

Q39. Який(і) символ(и) використовуються для перевірки рівності між двома елементами?

Q40. Перегляньте код нижче. Який правильний синтаксис для зміни ціни на 1.5?

fruit_info = {
  'fruit': 'apple',
  'count': 2,
  'price': 3.5
}

Q41. Яке значення буде повернено цією перевіркою на рівність?

5 != 6

Пояснення: У Python != еквівалентно не дорівнює.

Q42. Що робить метод класу __init__()?

Довідка

Приклад:

class test:
    def __init__(self):
        print('Я прийшов сюди без вашого дозволу, ха -ха')
        pass
t1 = test()
>>> 'Я прийшов сюди без вашого дозволу, ха -ха'

Q43. Що означає фраза “просторова складність”?

Q44. Який правильний синтаксис для створення змінної, що прив’язана до словника?

Q45. Який правильний спосіб написати генератор списку, що представляє всі ключі в цьому словнику?

fruits = {'Apples': 5, 'Oranges': 3, 'Bananas': 4}

Q46. Яка мета ключового слова self при визначенні або виклику методів на екземплярі об’єкта?

Пояснення: - Спробуйте запустити приклад з Q42 без передачі аргументу self всередині __init__, і ви зрозумієте причину. Ви отримаєте помилку на кшталт __init__() takes 0 positional arguments but 1 was given, що означає, що щось передається всередину, навіть якщо це не було явно вказано, а саме екземпляр.

Q47. Яке твердження про методи класу є правильним?

Довідка Методи класу — це методи, які викликаються на самому класі, а не на конкретному екземплярі об’єкта. Тому вони належать до рівня класу, і всі екземпляри класу поділяють метод класу.

Q48. Що означає, що функція має лінійний час виконання?

Q49. Який правильний спосіб визначити функцію?

Використання підкреслень як роздільників слів бере свій початок з кінця 1960-х років. Це особливо асоціюється з мовою C, зустрічається в книзі “The C Programming Language” (1978) і контрастує з Pascal case (тип camel case). Однак традиційно цей стиль не мав конкретної назви: стильовий гід мови Python називає його просто “lower_case_with_underscores”.[2] У Usenet термін snake_case вперше з’явився в спільноті Ruby у 2004 році,[3] використаний Гевіном Кістнером, який писав: BTW… як ви називаєте цей стиль іменування? snake_case? Так я його називатиму, поки хтось мене не виправить.

Довідка

Q50. Відповідно до настанов PEP 8 щодо стилю кодування, як слід називати константні значення в Python?

Використовуйте одну велику літеру, слово або слова. Розділяйте слова підкресленнями для покращення читабельності. Довідка

Q51. Опишіть функціональність deque

Deque або двостороння черга — це узагальнена версія структури даних черги, яка дозволяє вставляти та видаляти елементи з обох кінців. Довідка

Q52. Який правильний синтаксис для створення змінної, що прив’язана до множини?

Q53. Який правильний синтаксис для визначення методу __init__(), що не приймає параметрів?

class __init__(self):
    pass
def __init__():
    pass
class __init__():
    pass
def __init__(self):
    pass

Q54. Яке з наступних тверджень є ПРАВДИВИМ щодо того, як числові дані будуть організовані в дереві бінарного пошуку?

У комп’ютерних науках дерево бінарного пошуку (BST), також відоме як впорядковане або відсортоване бінарне дерево, є структурою даних бінарного дерева з коренем, де ключ кожного внутрішнього вузла більший за всі ключі у відповідному лівому піддереві вузла і менший за ключі в правому піддереві. Довідка

Q55. Навіщо використовувати декоратор?

Декоратори дозволяють обгорнути іншу функцію, щоб розширити її поведінку, не змінюючи її назавжди. Довідка

Q56. Коли слід використовувати цикл for?

Довідка

Q57. Який найбільш самодокументований спосіб визначити функцію, що обчислює податок з продажу на покупку?

def tax(my_float):
    ''' Обчислює податок з продажу на покупку. Приймає float, що представляє підсумок, як аргумент і повертає float, що представляє податок з продажу.'''
    pass
def tx(amt):
    ''' Отримує податок на суму.'''
def sales_tax(amount):
    ''' Обчислює податок з продажу на покупку. Приймає float, що представляє підсумок, як аргумент і повертає float, що представляє податок з продажу.'''
def calculate_sales_tax(subtotal):
    pass

Q58. Що станеться, якщо не змінити стан елемента, на якому працює алгоритм рекурсивно?

пояснення

Q59. Яка складність часу виконання пошуку елемента в дереві бінарного пошуку?

пояснення

Q60. Навіщо використовувати mixin?

Є дві основні ситуації, коли використовуються mixins: Потрібно надати багато необов’язкових функцій для класу. Потрібно використовувати одну конкретну функцію в багатьох різних класах. Довідка пояснення

Q61. Яка складність часу виконання додавання елемента до стеку та видалення елемента зі стеку?

Q62. Яке твердження точно описує, як елементи додаються до стеку та видаляються з нього?

Пояснення: Стек використовує підхід останній прийшов — перший пішов.

Q63. Що таке базовий випадок у рекурсивній функції?

Q64. Чому вважається гарною практикою відкривати файл у Python-скрипті за допомогою ключового слова with?

Це гарна практика використовувати ключове слово ‘with’ при роботі з файловими об’єктами. Перевага полягає в тому, що файл правильно закривається після завершення його блоку, навіть якщо на якомусь етапі виникає виняток. Використання with також набагато коротше, ніж написання еквівалентних блоків try-finally:

>>> f = open('workfile', 'w', encoding="utf-8")
>>> with open('workfile', encoding="utf-8") as f:
    read_data = f.read()
# Ми можемо перевірити, чи файл був автоматично закритий.
>>> f.closed
True

Довідка

Q65. Навіщо використовувати віртуальне середовище?

Q66. Який правильний спосіб запустити всі doctests у даному файлі з командного рядка?

Існує також ярлик командного рядка для запуску testmod(). Ви можете вказати інтерпретатору Python запустити модуль doctest безпосередньо з бібліотеки стандартів і передати ім’я модуля(ів) у командному рядку: python -m doctest -v example.py Це імпортує example.py як окремий модуль і запустить testmod() на ньому. Зверніть увагу, що це може не працювати правильно, якщо файл є частиною пакета та імпортує інші підмодулі з цього пакета. Довідка навчальне відео

Q67. Що таке лямбда-функція?

Довідка

Пояснення:

Лямбда-нотація — це анонімна функція, яка може приймати будь-яку кількість аргументів, але має лише один вираз (тобто не може бути перевантажена). Вона була введена в інших мовах програмування, таких як C++ та Java. Лямбда-нотація дозволяє програмістам “обійти” оголошення функції.

Q68. У чому основна різниця між списками та кортежами?

Довідка

Q69. Що повертає генератор?

Q70. У чому різниця між атрибутами класу та атрибутами екземпляра?

Q71. Який правильний синтаксис для створення методу екземпляра?

def get_next_card():
  # тіло методу тут
def get_next_card(self):
  # тіло методу тут
def self.get_next_card():
  # тіло методу тут
def self.get_next_card(self):
  # тіло методу тут

Q72. Який правильний спосіб викликати функцію?

Q73. Як додати коментар до існуючого Python-скрипту?

Довідка

Q74. Який правильний синтаксис для заміни рядка apple у списку на рядок orange?

my_list = ['kiwi', 'apple', 'banana']

Q75. Що станеться, якщо використовувати цикл while і забути включити логіку, яка врешті-решт зупинить цикл?

Q76. Опишіть функціональність черги

Q77. Який варіант є найбільш синтаксично правильним прикладом умовного розгалуження?

num_people = 5

if num_people > 10:
    print("У басейні багато людей.")
elif num_people > 4:
    print("У басейні є деякі люди.")
else:
    print("У басейні нікого немає.")
num_people = 5

if num_people > 10:
    print("У басейні багато людей.")
if num_people > 4:
    print("У басейні є деякі люди.")
else:
    print("У басейні нікого немає.")
num_people = 5

if num_people > 10;
    print("У басейні багато людей.")
elif num_people > 4;
    print("У басейні є деякі люди.")
else;
    print("У басейні нікого немає.")
if num_people > 10;
    print("У басейні багато людей.")
if num_people > 4;
    print("У басейні є деякі люди.")
else;
    print("У басейні нікого немає.")

Q78. Як працює defaultdict?

defaultdict — це контейнер, подібний до словника, який присутній у модулі collections. Функціональність словників і defaultdict майже однакова, за винятком того, що defaultdict ніколи не викликає KeyError. Він надає значення за замовчуванням для ключа, який не існує.

# Function to return a default
# values for keys that are not
# present
def def_value():
    return "Not Present"

# Defining the dict
d = defaultdict(def_value)

Довідка

Q79. Який правильний синтаксис для додавання ключа variety до словника fruit_info, що має значення Red Delicious?

Q80. Коли слід використовувати цикл while?

Простий приклад
i = 1
while i<6:
    print('Countdown:',i)
    i = i + 1

Q81. Який правильний синтаксис для визначення методу __init__(), який встановлює атрибути, специфічні для екземпляра, під час створення нового екземпляра класу?

def __init__(self, attr1, attr2):
    attr1 = attr1
    attr2 = attr2
def __init__(attr1, attr2):
    attr1 = attr1
    attr2 = attr2
def __init__(self, attr1, attr2):
    self.attr1 = attr1
    self.attr2 = attr2
def __init__(attr1, attr2):
    self.attr1 = attr1
    self.attr2 = attr2

Пояснення:: Під час створення нового об’єкта з даного класу метод __init__() приймає як attr1, так і attr2, і встановлює їх значення для відповідного атрибута об’єкта, тому потрібно використовувати self.attr1 = attr1 замість attr1 = attr1.

Q82. Що виведе ця рекурсивна функція, якщо її викликати без параметрів?

def count_recursive(n=1):
    if n > 3:
        return
    print(n)

    count_recursive(n + 1)
1
1
2
2
3
3
3
2
1
3
3
2
2
1
1
1
2
3

Q83. У Python, при використанні множин, використовується _ для обчислення перетину між двома множинами і _ для обчислення об’єднання

Q84. Що поверне цей фрагмент коду?

import numpy as np
np.ones([1,2,3,4,5])

Довідка

Q85. Ви стикаєтеся з FileNotFoundException під час використання лише імені файлу у функції open. Яке може бути найпростіше рішення?

Q86. Що поверне ця команда?

{x for x in range(100) if x%3 == 0}

Довідка Це Set Comprehension, оскільки в ‘{}’, фігурних дужках, тому поверне Set!

Q87. Що дозволяє робити оператор // у Python 3?

Q88. Який файл імпортується для використання дат у Python?

Q89. Який правильний синтаксис для визначення класу під назвою Game?

Довідка тут

Q90. Який правильний синтаксис для виклику методу екземпляра класу під назвою Game?

Q91. Який результат цього коду? (NumPy було імпортовано як np.)

a = np.array([1,2,3,4])
print(a[[False, True, False, False]])

Q92. Припустимо, що у вас є рядкова змінна, визначена як y=”stuff;thing;junk;”. Який буде результат цього коду?

z = y.split(';')
len(z)

Пояснення::

y="stuff;thing;junk"
 len(z) ==> 3

y="stuff;thing;junk;"
 len(z) ==> 4

Q93. Який результат цього коду?

num_list = [1,2,3,4,5]
num_list.remove(2)
print(num_list)

Пояснення:: .remove() базується на значенні елемента, а не на індексі; тут видаляється елемент, що відповідає “2”. Якщо потрібно видалити елемент за індексом, слід використовувати .pop().

num_list = [1,2,3,4,5]

num_list.pop(2)
>>> [1,2,4,5]

num_list.remove(2)
>>> [1,3,4,5]

Q94. Яка команда створить список від 10 до 1? Приклад

[10,9,8,7,6,5,4,3,2,1]

Довідка

Q95. Який фрагмент коду виведе такий самий результат, як цей фрагмент?

import math
print(math.pow(2,10)) # виводить 2, піднесене до 10-го ступеня
print(2^10)
print(2**10)
y = [x*2 для x у діапазоні(1,10)]
print(y)
y = 1
for i in range(1,10):
    y = y * 2
print(y)

Довідка

Q96. Елементи, оточені [], є _, {} є _, а () є _

Довідка

Q97. Який результат цього коду? (NumPy було імпортовано як np.)

table = np.array([
    [1,3],
    [2,4]])
print(table.max(axis=1))

Довідка

Q98. Що виведе цей код?

number = 3
print (f"Це число {number}")

Довідка

Q99. Який синтаксис правильно створює змінну, прив’язану до кортежу?

Довідка

Q100. Який режим не є дійсним способом доступу до файлу з Python-скрипту?

  1. Довідка
  2. Довідка

Q101. NumPy дозволяє множити два масиви без використання циклу for. Це приклад _

Q102. Який вбудований тип даних Python можна використовувати як хеш-таблицю?

Q103. Яка функція Python дозволяє виконувати команди Linux shell у Python?

Q104. Припустимо, у вас є наступний фрагмент коду, і ви хочете отримати список лише з літерами. Який фрагмент коду не досягне цієї мети?

my_dictionary = {
    'A': 1,
    'B': 2,
    'C': 3,
    'D': 4,
    'E': 5
}
letters = []

for letter in my_dictionary.values():
    letters.append(letter)

Пояснення: Перший варіант (правильний) повертає список значень (чисел). Решта варіантів повертають список ключів.

Q105. Коли масив великий, NumPy не виводить весь масив при використанні вбудованої функції print. Яку функцію можна використовувати в NumPy, щоб змусити його вивести весь масив?

Q106. Коли слід використовувати блок try/except у коді?

Довідка

Q107. Як компілятор Python може визначити внутрішній блок циклу for?

Q108. Який механізм Python найкраще підходить для повідомлення користувача про використання нерекомендованої функції?

Q109. Яким буде значення x після виконання цього коду?

x = {1,2,3,4,5}
x.add(5)
x.add(6)

Пояснення: Метод .add() додає елемент до множини лише якщо він не існує.

Q110. Як отримати та зберегти всі ключі цього словника одночасно?

fruit_info = {
    'fruit': 'apple',
    'count': 2,
    'price': 3.5
}

Q111. Що не так із цим визначенням функції?

def be_friendly(greet = "How are you!", name):
    pass

Q112. Враховуючи, що NumPy імпортовано як np, який варіант поверне True?

a = np.zeros([3,4])
b = a.copy()
np.array_equal(a,b)
a = np.empty([3,4])
b = np.empty([3,4])
np.array_equal(a,b)
a = np.zeros([3,4])
b = np.zeros([4,3])
np.array_equal(a,b)
a = np.array([1, np.nan])
np.array_equal(a,a)

Q113. Як додати коментар до існуючого Python-скрипту?

Q114. У цьому фрагменті коду, чому будуть еквівалентні значення c і d?

import numpy as np
a = np.array([1,2,3])
b = np.array([4,5,6])
c = a*b
d = np.dot(a,b)
c = [ a[1] * b[1], a[2] * b[2], a[3] * b[3] ]
d = sum(c)
c = a[0] * b[0], a[1] * b[1], a[2] * b[2]

d = [ a[0] * b[0], a[1] * b[1], a[2] * b[2] ]
c = [ a[0] * b[0], a[1] * b[1], a[2] * b[2] ]

d = sum(a) + sum(b)
c = [ a[0] * b[0], a[1] * b[1], a[2] * b[2] ]

d = sum(c)

Q115. Які дві функції з бібліотеки NumPy можна використовувати для розв’язання системи лінійних рівнянь?

Пояснення: Для розв’язання деяких систем рівнянь можна використовувати метод діагоналізації, який включає знаходження власних векторів і власних значень матриці системи та множення пов’язаних матриць.

Q116. Який правильний синтаксис для створення змінної, що прив’язана до списку?

Довідка

Q117. Цей код надає _ списку чисел

num_list = [21, 13, 19, 3, 11, 5, 18]
num_list.sort()
num_list[len(num_list) // 2]

Пояснення: // — це оператор цілочисельного ділення, який виконує звичайну операцію ділення, що повертає найбільше можливе ціле число, менше або рівне результату звичайного ділення. Тут він використовується для знаходження медіани, яка є значенням, що розділяє більшу від меншої половини вибірки даних, шляхом знаходження індексу елемента списку в середині списку. (Це достатньо для списку з непарною кількістю елементів; якби список мав парну кількість елементів, ви б усереднили значення двох середніх елементів, щоб знайти медіанне значення.)

Q118. Які дві основні структури даних у бібліотеці Pandas?

Довідка

Q119. Припустимо, у вас є змінна vector типу np.array з 10 000 елементів. Як можна перетворити vector на змінну matrix з розмірами 100x100?

Довідка

Q120. Який варіант є незмінним типом даних?

Довідка

Q121. Який результат цього коду?

def myFunction(country = "France"):
    print("Привіт, я із", country)

myFunction("Іспанії")
myFunction("")
myFunction()
Привіт, я із Іспанії
Привіт, я із
Привіт, я із
Привіт, я із Франції
Привіт, я із Франції
Привіт, я із Франції
Привіт, я із Іспанії
Привіт, я із
Привіт, я із Франції
Привіт, я із Іспанії
Привіт, я із Франції
Привіт, я із Франції

Q122. Оберіть варіант, для якого не можна створити екземпляр класу

Довідка

Q123. Використовуючи Pandas, ми завантажуємо набір даних з Kaggle, як показано на зображенні нижче. Яка команда поверне загальну кількість тих, хто вижив?

Q129

Пояснення: titanic['Survived'] повертає об’єкт pandas.Series, який містить стовпець Survived з DataFrame. Додавання значень цього стовпця (тобто sum(titanic['Survived'])) повертає загальну кількість тих, хто вижив, оскільки виживання позначається 1, а втрата — 0.

Q124. Як створити список кортежів, що відповідають цим спискам персонажів і акторів?

characters = ["Iron Man", "Spider Man", "Captain America"]
actors = ["Downey", "Holland", "Evans"]

# example output : [("IronMan", "Downey"), ("Spider Man", "Holland"), ("Captain America", "Evans")]

Q125. Що поверне цей вираз?

{x : x*x for x in range(1,100)}

Q126. Яка формула Jaccard Similarity, що визначає схожість двох множин? Вона визначається як відношення кількості елементів перетину до кількості елементів об’єднання. Який варіант є точною реалізацією на Python?

Q132

Довідка

Q127. Який варіант не є нативним числовим типом у Python?

Q128. Який буде результат цього коду?

[1,2,3] * 3

Q129. Враховуючи список, визначений як numbers = [1,2,3,4], яке значення має numbers[-2]?

Q130. Яке твердження про рядки в Python є правильним?

Q131. Який правильний синтаксис для визначення методу _init_(), що не приймає параметрів?

() - порожній параметр. self - посилається на всі екземпляри в класі. _init_ - зарезервований метод, також відомий як конструктор. _init_() - завжди виконується під час ініціалізації класу.

Q132. Припустимо, потрібно використовувати функцію sin з бібліотеки math. Який правильний синтаксис для імпорту лише цієї функції?

Довідка

Пояснення: Оператор from..import дозволяє імпортувати конкретні функції/змінні з модуля замість імпорту всього.

Q133. Що ви отримаєте, якщо застосуєте numpy.sum() до списку, що містить лише булеві значення?

Q134. Що виведе цей код?

print ("foo" if (256).bit_length() > 8 else "bar")

Q135. Якщо явно не повернути значення з функції, що станеться?

Q136. Часто бібліотека pandas використовується для _ даних, а NumPy для _ даних

Q137. Що потрібно зробити для встановлення додаткових пакетів у Python?

Q138. Зображення нижче було створено за допомогою Matplotlib. Це графік розподілу списку цілих чисел, заповненого числами за допомогою функції _ і побудованого за допомогою _

Q132

Довідка

Q139. У цьому фрагменті коду, якими будуть значення a і b?

import numpy as np

a = np.arange(100)
b = a[50:60:2]

Q140. Використовуючи NumPy у Python, як перевірити розмірність (кількість і довжину вимірів) об’єкта під назвою my_object?

Q141. Припустимо, у вас є непорожній список під назвою mylist, і ви хочете знайти певне значення. Мінімальна кількість порівнянь буде ** і максимальна кількість порівнянь буде **?

Пояснення: Можна використовувати оператор break, і значення, яке шукається, може бути першим елементом списку, враховуючи, що він непорожній.

Q142. Якщо функція не має оператора return, що вона поверне?

Q143. Припустимо, ви хочете перевірити, чи можна перемножити дві матриці, використовуючи NumPy для зневадження. Як би ви завершили цей фрагмент коду, заповнивши пропуски відповідними змінними?

import numpy as np

def can_matrices_be_multiplied (matrix1, matrix2):
    rowsMat1, columnsMat1 = matrix1.shape
    rowsMat2, columnsMat2 = matrix2.shape

    if _____ == ______ :
        print('Матриці можна помножити!')
        return True
    else:
        return False

довідка. Матрицю можна множити на будь-яку іншу матрицю, яка має таку саму кількість рядків, як і перші стовпці. Тобто матрицю з 2 стовпцями можна множити на будь-яку матрицю з 2 рядками.

Q144. Який результат цього виразу?

[(x, x+1) for x in range(1,5)]

Q145. У Python метод класу повинен мати __ як декоратор функції, а перший параметр методу буде посиланням на __

Довідка

Q146. Який фрагмент коду виведе My name is Joffrey, son of Robert?

class Father():
    name = 'Robert'

class Person(Father):
    def __init__(self, name):
        self.fathername = super.name
        self.name = name

    def introduce(self):
        print("My name is", self.name, "son of", self.fathername)

king = Person("Joffrey")
king.introduce()

class Father():
    name = 'Robert'


class Person(Father):
    def __init__(self, name):
        self.fathername = self.name
        self.name = name

    def introduce(self):
        print("My name is", self.name, "son of", self.fathername)


king = Person("Joffrey")
king.introduce()

class Father():
    name = 'Robert'


class Person(Father):
    def __init__(self, name):
        self.name = name

    def introduce(self):
        print("My name is", self.name, "son of", super.name)

king = Person("Joffrey")
king.introduce()
class Father():
    name = 'Robert'

class Person(Father):
    def __init__(self, name):
        self.name = name

    def introduce(self):
        print("My name is", self.name, "son of", base.name)

king = Person("Joffrey")
king.introduce()

Пояснення: У першому варіанті super не має .name (має бути self.name). У третьому варіанті пропущено Robert, а в четвертому base не визначено.

Q147. Що виведе цей код у консоль, припускаючи, що defaultdict вже імпортовано?

animals = {
    'a': ['ant', 'antelope', 'armadillo'],
    'b': ['beetle', 'bear', 'bat'],
    'c': ['cat', 'cougar', 'camel']
}

animals = defaultdict(list, animals)

print(animals['b'])
print(animals['d'])
      ['beetle', 'bear', 'bat']
      []
      ['beetle', 'bear', 'bat']
      # буде викинуто виняток
      ['beetle', 'bear', 'bat']
      None
      ['bat', 'bear', 'beetle']
      []

Пояснення: Зазвичай словники викликають виняток при використанні синтаксису квадратних дужок. Defaultdict тут повертає значення за замовчуванням, визначене першим параметром, тому замість викидання винятку вони повертають типове значення. Зверніть увагу, що це потрібно імпортувати так: from collections import defaultdict

Довідка

Q148. Що поверне цей рядок коду? (Припустимо, що n вже визначено як будь-яке додатне ціле значення.)

[x*2 for x in range(1,n)]

Довідка

Q149. Що виведе цей код у консоль?

x = 18

if x > 10:
 if x > 15:
  print('A')
 else:
  print('B')
else:
 print('C')

Q150. Яка максимальна довжина ідентифікатора в Python?

довідка Фіксована довжина не вказана, але Pep-8 вказує під “Максимальна довжина рядка” “Обмежити всі рядки до максимуму 79 символів”.

Q151. Яким буде значення змінної i, коли цей цикл завершить своє виконання?

for i in range(5): pass

Q152. f-рядки також називаються

Q153. Скільки процесорів (або ядер) одночасно використовуватиме бібліотека потоків Python?

Пояснення:: Потоки Python обмежені одним процесором одночасно. Бібліотека multiprocessing дозволить запускати код на різних процесорах.

Q154. Яким буде значення y у цьому коді?

x = 5
y = 1 + (20 if x < 5 else 30)

Довідка

Пояснення: Якщо є лише одна інструкція для виконання, одна для if і одна для else, її можна розмістити на одному рядку.

x = 5
# Це те саме твердження, що розширюється до декількох рядків
y = 1
if (x < 5):
    y += 20
else:
    y += 30

Q155. Процес серіалізації (pickling) у Python включає?

довідка

“Pickling” — це процес, під час якого ієрархія об’єктів Python перетворюється на байтовий потік, а “unpickling” — це зворотна операція, під час якої байтовий потік (з бінарного файлу або об’єкта, схожого на байти) перетворюється назад в ієрархію об’єктів.

Q156. Який результат виведе наступна програма?

print("codescracker".endswith("er"))

Q157. Чи є список змінним у Python?

Q158. Який результат виведе наступна програма?

print("programming".center())

довідка. Метод center() вирівнює рядок по центру, використовуючи вказаний символ (пробіл за замовчуванням) як заповнювач. Синтаксис: string.center(length, character), де length є обов’язковим!

Q159. Хто створив мову програмування Python?

Q160. Яка колекція є впорядкованою, змінною та дозволяє дублювати елементи?

Q161. Що буде виведено в консоль, якщо запустити цей код?

x = 1j
print(x**2 == -1)

Пояснення: Літера j в Python позначає уявну одиницю, тому x**2 означає j**2, що дорівнює -1. Вираз x**2 == -1 оцінюється як True.

Q162. Що буде виведено в консоль, якщо запустити цей код?

print(0xA + 0xB + 0xC)

Пояснення: A, B і C — це шістнадцяткові числа зі значеннями 10, 11 і 12 відповідно, тому сума A, B і C дорівнює 33.

Q163. Що виведе цей код на екран?

for i in range(5):
    print(i)
else:
    print("Готово!")

Q164. Яке порівняння списків і кортежів у Python є правильним?

довідка

Q165. Розгляньте наступний код, який використовує декоратори для обчислення часу виконання функції execution_fn

import functools
import time

def timer(MISSING_ARG_1):
    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        start_time = time.perf_counter()
        rval = func(*args, **kwargs)
        end_time = time.perf_counter()
        duration = end_time - start_time
        print(f"Executed in {duration:.4f} seconds")
        return MISSING_ARG_2
    return MISSING_ARG_3

@timer
def execution_fn():
    for i in range(3):
        time.sleep(1)

execution_fn()

Які з наступних варіантів є відсутніми аргументами?

MISSING_ARG_1 = wrapper

MISSING_ARG_2 = rval

MISSING_ARG_3 = func
MISSING_ARG_1 = func

MISSING_ARG_2 = rval

MISSING_ARG_3 = wrapper
MISSING_ARG_1 is empty

MISSING_ARG_2 = rval

MISSING_ARG_3 = wrapper
MISSING_ARG_1 is empty

MISSING_ARG_2 = rval

MISSING_ARG_3 = func

Q166. Яке з наступних тверджень визначає новий тип об’єкта під назвою Dog у Python?

Q167. Щоб використовувати пайплайни в scikit-learn, імпортуйте з підмодуля scikit-learn._

довідка Правильний синтаксис: from sklearn.pipeline import Pipeline

Q168. Яке значення потрібно передати для аргументу _ в методі Pandas apply, щоб застосувати функцію до кожного рядка?

Q169. Як називаються точки даних у Pyplot?

Q170. Що виведе цей код?

a = np.array([[1, 2], [3, 4], [5, 6]])
c = a[(a > 3) & (a < 11)]
print(c)

Q171. Припустимо, що m, n і p — це додатні цілі числа. Скільки разів буде викликана функція randint у наступному виразі?

[ [ [ randint(1,100) for i in range(m) ] for j in range(n) ] for k in range(p) ]

Q172. Припустимо, у вас є клас під назвою MyClass, який має множинне успадкування та методи з однаковими іменами в його предках. Який метод класу можна викликати, щоб побачити, який метод матиме пріоритет при виклику?

Пояснення: MRO означає порядок вирішення методів. Він повертає список типів, від яких походить клас, у порядку, в якому вони шукаються для методів.

Q173. Припустимо, у вас є список співробітників, описаний нижче. Ви хочете призначити Алісі таку ж зарплату, як у Чарлі. Який варіант це зробить?

employees = {
    'alice':{
        'position':'Lead Developer',
        'salary':1000
    },
    'bob':{
        'position': 'Lead Artist',
        'salary':2000
    },
    'charlie':{
        'position':'cfo',
        'salary':3000
    }
}

Пояснення: Це доступ до ключа в словнику, вкладеному в інший словник. Команда employees['alice']['salary'] = employees['charlie']['salary'] призначає значення ключа salary в словнику співробітника charlie значенню ключа salary в словнику співробітника alice.

Q174. Вам дано цей фрагмент коду. Припустимо, що m і n вже визначені як деякі додатні цілі значення. Скільки кортежів міститиме мій список після завершення?

mylist = []

for i in range(m):
    for j in range(n):
        mylist.append((i,j))

Пояснення: Цей код виконуватиметься m x n разів. Якщо запустити цей код, він створить m x n кортежів.

Перший цикл виконується m разів, а внутрішній цикл - n разів. Одна ітерація першого циклу завершиться лише тоді, коли всі n ітерацій внутрішнього циклу будуть завершені. Це той самий процес для 2-го, 3-го, … m-го ітерацій зовнішнього циклу. Загалом обидва цикли виконуватимуться m x n разів.

Q175. Що надасть цей вираз?

{x : [y for y in range (1, x) if x % y == 0] for x in range (2, 100)}

Q176. Яке поширене використання бібліотеки Python sys?

Q177. Який результат 17 % 15?

Q178. Як створити список кортежів, що відповідають цим спискам персонажів і акторів?

characters = ["Iron Man", "Spider Man", "Captain America"]
actors = ["Downey", "Holland", "Evans"]

# Приклад: [("Iron Man", "Downey), ("Spider Man", "Holland"), ("Captain America", "Evans")]
d = {}
for x in range(1, len(characters)):
    d[x] = actors [x]

Q179. Що виведе цей код на екран?

for i in range(5):
    print (i)
else:
    print("Done!")
1
2
3
4
Done!
0
1
3
4
5
Done!
1
3
4
5
Done!

Q180. Коли виконується блок if __name__ == "__main__": у Python-скрипті?

Блок if __name__ == "__main__": виконується, коли скрипт запускається безпосередньо, але не коли він імпортується як модуль в інший скрипт. довідка

Q181. Який результат виведе наступний код?

def square(x):
 return x * x

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
result = list(squared_numbers)
print(result)

Код визначає функцію square для обчислення квадрата числа. Потім використовується функція map, щоб застосувати цю функцію до кожного елемента списку numbers, що призводить до створення нового ітератора. Нарешті, конструктор list використовується для перетворення цього ітератора в список. Результатом буде список квадратів чисел. довідка

Q182. Яка з наступних функцій не є вбудованою в Python?

джерело

Q183. Який з наступних варіантів не є дійсним типом даних у Python?

Q184. Яка функція використовується в Python для зчитування рядка з консолі інпута?

довідка

Q185.1. Який результат виведе наступний код?

print("Hello {name1} and {name2}".format(name1='foo', name2='bin'))