Простой тест на знание Python — вопросы

Материал из DISCOPAL
Перейти к: навигация, поиск
12345678910
Простой тест на знание Python

Вариант 3662235510.


Ваше имя*:


Вопрос 1

Сколько элементов будет содержать список L после выполнения следующего кода:

L = []
L.append([1,2,3])
L.insert(1, "abc")
del L[0][0]
  1.  2
  2.  3
  3.  сообщение об ошибке
  4.  4
  5.  1

Вопрос 2

Каким из приведенных ниже способов можно привести латинские символы строки s к нижнему регистру?

  1.  s.lower()
  2.  s.replace('A-Z', 'a-z')
  3.  s.islower()
  4.  s.tolower()

Вопрос 3

Какие из перечисленных функций имеют побочные эффекты:

import os
global v
v = 0
 
def A(x, y):
  return abs(x + y)
 
B = lambda k, v: os.environ.setdefault(k, v)
 
def C(x):
  global v
  v = v + 1
  return v + x


  1.  A, B, C
  2.  только C
  3.  только B и C
  4.  только A и C
  5.  никакие

Вопрос 4

Какое множество строк описывает регулярное выражение «[ac][ab]»?

  1.  "aa", "ab", "ba", "bb", "ca", "cb"
  2.  "aa", "ab", "ca", "cb"
  3.  "ac", "ab"
  4.  "[ac][ab]"

Вопрос 5

Чему будет равно значение следующего выражения:

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

Вопрос 6

Как называется отношение, которое имеют следующие два класса:

 
class A(type):
  def __init__(cls, name, bases, dict):
    return super(A, cls).__init__(cls, name, bases, dict)
 
B = A("B", (), {})
 
  1.  ассоциация. A содержит ссылки на B
  2.  метакласс. B является метаклассом для A
  3.  метакласс. A является метаклассом для B
  4.  наследование. B получается наследованием A

Вопрос 7

Что будет выведено в результате выполнения сопоставления с регулярным выражением?

import re
 
m = re.match("(?P<a>A*?)(?:B+)(?P<b>B+?)(?P<c>C??)", "AAAABBBBC")
print(m.groupdict())
  1.  {'a': 'AAAA', 'c': 'C', 'b': 'B'}
  2.  {'a': 'AAAA', 'b': 'B', 'c': }
  3.  {'a': 'AAAA', 'b': 'B'}
  4.  {'a': 'AAAA', 'b': 'BBBB'}

Вопрос 8

Что произойдет со старыми объектами модуля, используемыми в программе, при его перезагрузке по reload() (после изменения на диске):

import mdl
a = mdl.a
b = mdl.b()
reload(mdl)
  1.  объекты (a, b) изменятся в соответствии с новыми определениями
  2.  изменятся только классы, функции и т.п. (a)
  3.  имена из модуля (mdl.a, mdl.b) будут ссылаться на другие объекты. Старые объекты (a, b) не изменятся
  4.  изменится только mdl

Вопрос 9

Сколько элементов будет содержать список L после выполнения следующего кода:

L = []
L.extend([1,2,3])
L.insert(1, "abc")
del L[0][0]
  1.  1
  2.  3
  3.  2
  4.  сообщение об ошибке
  5.  4

Вопрос 10

Чему будет равно значение следующего выражения:

import numpy as np
print(np.shape(np.transpose(np.ones((2,3)))))
  1.  6
  2.  (2, 3)
  3.  array([2, 3])
  4.  (3, 2)