Тест: Python


Список вопросов


1. Имеется кортеж вида T = (4, 2, 3). Какая из операций приведёт к тому, что имя T будет ссылаться на кортеж (1, 2, 3)?

1) T[0] = 1
2) T = (1) + T[1:]
3) T = (1,) + T[1:]
4) T.startswith(1)

2. Для чего в Python используется встроенная функция enumerate()?

1) Для определения количества элементов последовательности.
2) Для одновременного итерирования по самим элементам и их индексам.
3) Для сортировки элементов по значениям id.

3. Что выведет интерпретатор для следующей программы (версия Python 3.6+)? def get_name_and_decades(name, age): print(f"My name is {name} and I'm {age / 10:.4f} decades old.") get_name_and_decades("Leo", 31)

1) My name is Leo and I'm 31.0000 decades old.
2) My name is Leo and I'm 3.1 decades old.
3) Исключение: перед строкой стоит лишняя буква f.
4) My name is Leo and I'm 3.1000 decades old.
5) My name is {name} and I'm {age / 10:.5f} decades old.

4. Необходимо собрать и вывести все уникальные слова из строки рекламного текста. Какой из перечисленных типов данных Python подходит лучше всего?

1) кортеж (tuple)
2) список (list)
3) множество (set)
4) словарь (dict)

5. Учёт зверей в зоопарке ведётся с помощью приведённого ниже списка словарей. Какая из строчек кода выведет структуру, отсортированную в порядке увеличения возрастов животных? animals = [ {'type': 'penguin', 'name': 'Stephanie', 'age': 8}, {'type': 'elephant', 'name': 'Devon', 'age': 3}, {'type': 'puma', 'name': 'Moe', 'age': 5}, ]

1) sorted(animals, key='age')
2) Ни один вариант не является верным, два словаря нельзя сравнивать друг с другом.
3) sorted(animals, key=lambda animal: animal['age'])
4) sorted(animals)

6. Какой результат выведет следующий код? def f(a, *pargs, **kargs): print(a, pargs, kargs) f(1, 2, 3, x=4, y=5)

1) 1, 2, 3, {'x': 4, 'y': 5}
2) 1 (2, 3) {'x': 4, 'y': 5}
3) 1, 2, 3, 'x=4', 'y=5'
4) 1, 2, 3, 4, 5

7. Как вывести список методов и атрибутов объекта x?

1) help(x)
2) info(x)
3) ?x
4) dir(x)

8. Как можно более кратко представить следующую запись? if X: A = Y else: A = Z

1) A = Y if Z else Y
2) A = Y if X else Z
3) A = X if Z else Y
4) A = X if Y else Z

9. Какая из перечисленных инструкций выполнится быстрее всего, если n = 10**6?

1) a = list(i for i in range(n))
2) a = [i for i in range(n)]
3) a = (i for i in range(n))
4) a = {i for i in range(n)}

10. 10. Вопрос со звёздочкой. Что выведет на экран следующий код? a, *b, c = [1, 2] print(a, b, c)

1) [1] [] [2]
2) Будет вызвано исключение: элементов в списке меньше, чем переменных.
3) 1 0 2
4) 1 [] 2

11. С помощью Python нужно записать данные в файл, но только в том случае, если файла ещё нет. Какой режим указать в инструкции open()?

1) 'x'
2) Никакой. Нужна предварительная проверка os.path.exists()
3) 'w'
4) 'r'

12. Для чего в пакетах модулей python в файле __init__.py служит список __all__?

1) Для конструкторов классов, как и всё, что связано с __init__
2) Список определяет, что экспортировать, когда происходит импорт с помощью from *
3) Для перечисления переменных, которые будут скрыты для импортирования.

13. При объявлении класса с помощью оператора class что пишется в круглых скобках после имени класса?

1) Имена аргументов, принимаемых методом __init__.
2) Имена принимаемых классом аргументов.
3) Имена суперклассов, если класс наследуется от одного или нескольких классов.
4) Имена классов, порождаемых данным классом.

14. Какую роль в описании метода класса выполняет декоратор @property?

1) Декорированный метод становится статическим, экземпляр не передаётся.
2) Декорированный метод становится методом класса: метод получает класс, а не экземпляр.
3) Значение, возвращаемое декорированным методом, вычисляется при извлечении. Можно обратиться к методу экземпляра, как к атрибуту.

15. Что выведет следующий код? try: raise IndexError except IndexError: print('Получено исключение.') else: print('Но в этом нет ничего страшного.')

1) IndexError
2) Получено исключение.
3) None
4) TypeError
5) Получено исключение. Но в этом нет ничего страшного.

16. Что получится при выполнении len(L) после выполнения данного кода? L = [] L.extend([1,2,3]) L.insert(1, "abc") L.pop(0)

1) 3
2) 2
3) "abc"
4) 4

17. Что выведет следующая программа: S = 0 for i in range(10, 2, -1): if i % 3 == 0: S = S + i print(S)

1) 8
2) 18
3) 28
4) 38

18. Что выведет следующая программа: S = 0 for i in range(1, 10): for j in range(1, 6): if i == j: S = S + i + j break print(S)

1) 10
2) 30
3) 6
4) 12

19. Что выведет следующая программа: x = True y = False z = False if not x or y: print(1) elif not x or not y and z: print(2) elif not x or y or not y and x: print(3) else: print(4)

1) 1
2) 2
3) 3
4) 4

20. Что выведет следующая программа: str = "0123456789" str[::-2]

1) ‘9876543210’
2) ‘13579’
3) ‘97531’
4) 97531