База ответов ИНТУИТ

Язык программирования Python

<<- Назад к вопросам

Имеется следующий генератор для слияния двух отсортированных последовательностей:
def merge(a1, a2): a1 = list(a1) a2 = list(a2) while a1 or a2:   if a1 and (not a2 or a1[0] < a2[0]):     r = a1   else:     r = a2   yield r[0]   del r[0]
Какие ошибки или особенности имеет эта программа?

(Отметьте один правильный вариант ответа.)

Варианты ответа
генератор оставит за собой временный список, так как del происходит после yield
в последней строке каждый раз удаляется элемент из временного списка, а не из a1 или a2: генератор зациклится
генератор будет портить переданные ему списки
ошибок нет(Верный ответ)
Похожие вопросы
Имеется следующий генератор для слияния двух отсортированных последовательностей:
def merge(a1, a2): i1 = iter(a1) i2 = iter(a2) while i1 or i2:   if i1 and (not i2 or i1[0] < i2[0]):     r = i1   else:     r = i2   yield r.next()
Какие ошибки или особенности имеет эта программа?
Дана функция-генератор:
def ggg(s):  for i in range(0, len(s)-1, 2):    yield s[i], s[i+1]
Какие из перечисленных ниже способов ее использования для вывода значений правильные (в Python 2.4)?
Какие функции Python 2.4 позволяют организовать обработку сразу двух и более последовательностей?
Имеется следующий массив:
b = array([[1, 2], [0, 1]])
Какие из приведенных ниже операций получения среза вызовут ошибку?
Имеется определение класса:
class CL(object):  def __init__(self, color):    self.color = color  def __str__(self):    return self.colorc = CL("#ff00ff")
Какие из следующих примеров не содержат ошибки?
Какие из получаемых в следующем фрагменте кода объектов являются итераторами?
def gen(N):  for i in xrange(N):    yield ilst = [1, 2, 3, 4]xr = xrange(12)g = gen(10)en = enumerate(lst)
Какие утверждения о следующем фрагменте программы, работающей с POP3-сервером, правильные?
import poplib, emailp = poplib.POP3('pop3.SERVER')p.getwelcome()p.user('USERNAME')p.pass_('USERPASSWORD')lst = p.list()## обработка lst#p.quit()
Какие утверждения о следующем фрагменте программы, работающей с POP3-сервером, правильные?
import poplib, emailp = poplib.POP3('pop3.SERVER')p.user('USERNAME', 'USERPASSWORD')response, lst, octets = p.list()## обработка lst# ...#p.quit()
Какие утверждения о следующем фрагменте программы, работающей с POP3-сервером, правильные?
import poplib, emailp = poplib.POP3('pop3.SERVER')p.getwelcome()p.user('USERNAME')p.pass_('USERPASSWORD')response, lst, octets = p.list()## обработка lst#p.quit()
Имеется определение класса:
class CL(object):  def set_color(self, value): self.__color = value  def del_color(self): del self.__color  color = property(lambda self: self.__color,                   set_color, del_color, "Color property.")c = CL()
Какие из следующих примеров содержат ошибки?