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

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

Вариант 3397246647.


Ваше имя*:


Вопрос 1

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

0 < [1, 4], [1] < 3
  1.  (True, False) или (1, 0)
  2.  это синтаксическая ошибка
  3.  True (или 1)
  4.  None
  5.  False (или 0)

Вопрос 2

Какими способами можно получить доступ к функции «fun()» из модуля «fns»?

  1.  import fns.fun as fun; fun()
  2.  import fns; fns.fun()
  3.  import fns.fun; fns.fun()

Вопрос 3

Может ли возникнуть deadlock в следующей программе:

import threading
 
res_A = threading.Lock()
res_B = threading.Lock()
 
def proc1():
   res_A.acquire()
   res_B.acquire()
   # ...
   res_B.release()
   res_A.release()
 
def proc2():
   res_B.acquire()
   res_A.acquire()
   # ...
   res_B.release()
   res_A.release()
 
p1 = threading.Thread(target=proc1, name="t1")
p2 = threading.Thread(target=proc2, name="t2")
p1.start()
p2.start()
p1.join()


  1.  да, возможно
  2.  да, обязательно
  3.  нет, не возникнет

Вопрос 4

Начало определения функции «f» выглядит так:

def f(a, b, c=None, d="0"):

Какие из следующих вариантов вызова приведут к ошибке на этапе присваивания фактических параметров формальным?

  1.  «f(1, 2, 3, 4)»
  2.  «f(1, 2)»
  3.  «f(1, d=3)»
  4.  «f(1, 2, d=3)»
  5.  «f(1, 2, d=3, c=4)»

Вопрос 5

Имеются следующие определения:

 
class A:
  def am(self):
    print "am"
 
class B:
  def bm(self):
    print "bm"
 
a = A()
b = B()
 


Какой из фрагментов кода содержит ошибки?


  1.   a.am = b.bm; a.bm()
  2.   A.am = b.bm; a.am()
  3.   a.am = b.bm; a.am()
  4.   A.am = B.bm; a.am()

Вопрос 6

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

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

Вопрос 7

Из какого модуля будет работать функция «replace()» в следующем примере:

from sre import sub as replace
from string import replace
  1.  возникнет ошибка (конфликт имен)
  2.  sre.sub
  3.  из sre.string
  4.  из string

Вопрос 8

Дан массив:

>>>c = array([[1,2], [2,3], [4,5]])

Чему равен срез c[1]?

  1.  array([1, 2, 4])
  2.  array([1, 2])
  3.  array([2, 3, 5])
  4.  array([2, 3])

Вопрос 9

С помощью какой функции можно организовать цикл с параметром («for»)?

  1.  id()
  2.  reload()
  3.  range()
  4.  xrange()

Вопрос 10

Что делает следующая программа?

 
import threading
ready = threading.Event()
 
def proc():
  ready.wait()
  print("Done!")
 
for i in range(5):
  p = threading.Thread(target=proc)
  p.start()
 
print("Prepare!")
ready.set()
 
  1.  программа создает пять дополнительных потоков, которые запускаются после выполнения ready.set() в главном потоке
  2.  программа запускает пять дополнительных потоков, печатающих "Done!" после выполнения ready.set(), то есть, после печати "Prepare!"
  3.  программа запускает пять дополнительных потоков, печатающих "Done!" одновременно
  4.  программа запускает пять дополнительных потоков, один из которых печатает "Done!" после выполнения ready.set(), а остальные ждут следующего ready.set()