Главная / Программирование /
Язык программирования Python / Тест 6
Язык программирования Python - тест 6
Упражнение 1:
Номер 1
Какие кодировки исходного текста программы поддерживает интерпретатор Python?
Ответ:
 (1) ASCII 
 (2) ASCII, Unicode 
 (3) ASCII, Latin-1, UTF-8 
 (4) большинство кодировок, распространенных сегодня 
Номер 2
Как задается кодировка исходного текста Python-программы?
Ответ:
 (1) с помощью ключа в командной строке 
 (2) с помощью механизма культурной среды 
 (3) с помощью специального комментария 
 (4) всегда применяется UTF-8 (в частном случае — ASCII) 
Номер 3
Какие кодировки используются для внутреннего представления символов строк?
Ответ:
 (1) строки с восьмибитовыми символами 
 (2) Unicode (2- и 4-байтовые символы) 
 (3) строки с восьмибитовыми символами и Unicode (2- или 4-байтовые символы) 
 (4) строки с 16-битовыми символами и Unicode (2- и 4-байтовые символы) 
Номер 4
Какой длины строки можно использовать в Python?
Ответ:
 (1) 256 символов 
 (2) 65536 символов 
 (3) длина строк ограничивается имеющейся памятью 
 (4) длины строк должны быть не больше, чем при их определении 
Номер 5
Что такое регулярное выражение?
Ответ:
 (1) синтаксически правильное выражение на языке Python 
 (2) шаблон для операции форматирования 
 (3) шаблон, описывающий множество строк 
 (4) шаблон для поиска файлов в каталоге 
Упражнение 2:
Номер 1
Какие операции можно производить над строками a
и b
?
Ответ:
 (1) a+b
 
 (2) a*b
 
 (3) a/b
 
 (4) a in b
 
Номер 2
Какие строковые литералы записаны правильно?
Ответ:
 (1) "123"
 
 (2) "12\"
 
 (3) r" " "12\" " " "
 
 (4) " " "12\" " " "
 
Номер 3
Какие строковые литералы записаны правильно
Ответ:
 (1) "123" " 
 (2) ' "12" ' 
 (3) r "\" 
 (4) "\" " 
Номер 4
Какие строковые литералы записаны правильно
Ответ:
 (1) ' ' '1' ' ' 
 (2) ' ' ' " " " ' ' ' 
 (3) "\007" 
 (4) r"\007" 
Номер 5
Какие строковые литералы записаны правильно?
Ответ:
 (1) ' (1+' 
 (2) " " " " " " 
 (3) " " " 
 (4) r"\\" 
Упражнение 3:
Номер 1
Какая строка получится в результате следующей операции:
"=%s %3.1f %-1i=" % ("abc", 1.234, 4)
Ответ:
 (1) =abc 1.2 4=
 
 (2) =abc 1.2 -4=
 
 (3) =abc 1.2 4 =
 
Номер 2
Какая строка получится в результате следующей операции:
"=%-3s %1.0f %-3i=" % ("a", 1.234, 4)
Ответ:
 (1) = a 1 4=
 
 (2) =a 1 4=
 
 (3) =a 1 4 =
 
Номер 4
Какая строка получится в результате следующей операции:
"=%1s %2.2f %03i=" % ("abc", 1.234, 4)
Ответ:
 (1) =a 1.23 004=
 
 (2) =a 01.23 004=
 
 (3) =abc 1.23 004=
 
 (4) =c 1.23 004=
 
Номер 5
Какая строка получится в результате следующей операции:
"=%r %0.1f %03i=" % ("abc", 1.234, 3)
Ответ:
 (1) ='abc' .2 3=
 
 (2) =abc 1.2 3=
 
 (3) ='abc' 1.2 003=
 
 (4) ='abc' 1.2 3 =
 
Упражнение 4:
Номер 1
Каким из приведенных ниже способов можно убрать из строки s
пробельные символы слева и справа?
Ответ:
 (1) string.strip(s)
 
 (2) string.isspace(s)
 
 (3) string.split(s)
 
 (4) string.trim(s)
 
Номер 2
Каким из приведенных ниже способов можно привести латинские символы строки s
к нижнему регистру?
Ответ:
 (1) s.replace('A-Z', 'a-z')
 
 (2) s.tolower()
 
 (3) s.islower()
 
 (4) s.lower()
 
Номер 3
Как из строки "a b c d e"
можно получить список
["a", "b", "c", "d", "e"]?
Ответ:
 (1) "a b c d e".split()
 
 (2) string.split("a b c d e")
 
 (3) re.split(' ', "a b c d e")
 
Номер 4
Как перевести Unicode-строку u
в кодировку koi8-r
?
Ответ:
 (1) u.recode('unicode', 'koi8-r')
 
 (2) u.decode('koi8-r')
 
 (3) u.encode('koi8-r')
 
 (4) string.decode(u, 'koi8-r')
 
Номер 5
Как заменить в строке s
все вхождения подстроки "a"
на "A"
?
Ответ:
 (1) s.replace("a", "A")
 
 (2) s.replace("A", "a")
 
 (3) s.translate("a", "A")
 
 (4) re.sub('a', 'A', s)
 
Упражнение 5:
Номер 1
С помощью какого регулярного выражения можно "прочитать" из строки дату в формате ГГГГ-ММ-ДД? (требуется не только сопоставить строку с регулярным выражением, но и получить данные: год, месяц, день)
Ответ:
 (1) (\d{4})-(\d{2})-(\d{2})
 
 (2) ([0-9]{4})(-([0-9]{2})){2}
 
 (3) ([0-9]{4})(-[0-9]{2}){2}
 
 (4) ([0-9]{4})-([0-9]{2})-([0-9]{2})
 
Номер 2
С помощью какого регулярного выражения можно найти все (ровно) пятикратные повторения цифры 0?
Ответ:
 (1) 0{5}[^0]
 
 (2) 00000([^0]|\Z)
 
 (3) 0{1,5}[^0]
 
 (4) ([^0]|\A)0{5}([^0]|\Z)
 
Номер 3
С помощью какого регулярного выражения можно найти все (ровно) пятикратные повторения цифры 0?
Ответ:
 (1) 0{5}[^0]
 
 (2) 00000([^0]|\Z)
 
 (3) 0{1,5}[^0]
 
 (4) ([^0]|\A)0{5}([^0]|\Z)
 
Номер 4
Какие из строк будут успешно сопоставлены с регулярным выражением ^[abc]*$
?
Ответ:
 (1) "abc"
 
 (2) "ABC"
 
 (3) "aaa"
 
Номер 5
Какое из приведенных ниже регулярных выражений некорректно?
Ответ:
 (1) a+b++
 
 (2) (a+b+)+
 
 (3) [a]*?
 
 (4) (?P<k>(ac))
 
Упражнение 6:
Номер 1
Что можно узнать с помощью регулярного выражения, записанного в следующей строке:
r'([01]+)\1\1'
Ответ:
 (1) наличие в строке нулей и единиц 
 (2) наличие в строке нулей, единиц и обратной косой черты 
 (3) троекратное повторение одной и той же строки из нулей и единиц подряд 
 (4) троекратное повторение одной и той же строки из нулей и единиц, возможно, не подряд 
Номер 2
Какое множество строк описывает следующее регулярное выражение:
to (?=be).{2}
Ответ:
 (1) "to be"
 
 (2) "to "
, затем любые два символа 
 (3) "to "
, затем, возможно, "be"
, а потом — любые два символа 
 (4) "to "
, затем "be"
два раза 
Номер 3
Какое множество строк описывает регулярное выражение [ac][ab]
?
Ответ:
 (1) "ac", "ab"
 
 (2) "aa", "ab", "ca", "cb"
 
 (3) "aa", "ab", "ba", "bb", "ca", "cb"
 
 (4) "[ac][ab]"
 
Номер 4
Что будет выведено в результате выполнения сопоставления с регулярным выражением?
>>> m = re.match("(a*?)(a+)(b+?)", "aaabbb")
>>> print m.groups()
Ответ:
 (1) ('aa', 'a', 'bbb')
 
 (2) ('a', 'aa', 'b')
 
 (3) ('', 'aaa', 'b')
 
 (4) ('aa', 'a', 'b')
 
Номер 5
Какие значения получат группы в следующем примере?
>>> m = re.match("(?P<a>A*?)(?:B+)(?P<b>B+?)(?P<c>C??)", "AAAABBBBC")
>>> m.groupdict()
Ответ:
 (1) {'a': 'AAAA', 'c': 'C', 'b': 'B'}
 
 (2) {'a': 'AAAA', 'b': 'BBBB'}
 
 (3) {'a': 'AAAA', 'b': 'B'}
 
 (4) {'a': 'AAAA', 'c': '', 'b': 'B'}
 
Упражнение 7:
Номер 1
Каким образом можно ввести русские символы в программу на Python в Unicode?
Ответ:
 (1) использовать объявление кодировки и русские буквы в Unicode-литералах u"..."
 
 (2) использовать строчные литералы "..."
 
 (3) использовать последовательности вида \u0000
в Unicode-литералах 
 (4) использовать метод encode()
 
Номер 2
На что влияет флаг re.MULTILINE
в регулярном выражении?
Ответ:
 (1) знаки ^
и $
соответствуют началу и концу любой строки в заданном тексте, а не только началу и концу текста 
 (2) знаки \A
и \Z
соответствуют началу и концу любой строки в заданном тексте, а не только началу и концу текста 
 (3) знак "."
соответствует также и символу конца строки "\n"
 
 (4) позволяет записывать регулярное выражение в несколько строк для улучшения его читаемости и записи комментариев 
Номер 3
Для чего в регулярном выражении используется "\w"
?
Ответ:
 (1) для обозначения границы слова 
 (2) для обозначения того, что в этом месте нет границы слова 
 (3) для обозначения буквы или цифры 
 (4) для обозначения символа, который не является ни буквой, ни цифрой 
Номер 4
Каков синтаксис для "заглядывания вперед" в регулярных выражениях, доступных в Python?
Ответ:
 (1) (?P=регвыр)
 
 (2) (?#регвыр)
 
 (3) (?<=регвыр)
 
 (4) (?=регвыр)
 
Номер 5
С помощью каких функций модуля re
можно получить все строки, соответствующие заданному регулярному выражению r
, в порядке их вхождения в строку s
?
Ответ:
 (1) re.findall(r, s)
 
 (2) re.finditer(r, s)
 
 (3) re.search(r, s)