игра брюс 2048
Главная / Программирование / Язык программирования Python / Тест 8

Язык программирования Python - тест 8

Упражнение 1:
Номер 1
Как передаются CGI-сценарию данные из формы методом POST?

Ответ:

 (1) через стандартный ввод 

 (2) через переменные окружения 

 (3) через аргументы командной строки 

 (4) через файл 


Номер 2
Как передаются CGI-сценарию данные из формы методом GET?

Ответ:

 (1) через стандартный ввод 

 (2) через переменные окружения 

 (3) через аргументы командной строки 

 (4) через файл 


Номер 3
Как получить в CGI-сценарии содержимое файла, переданного web-серверу через форму?

Ответ:

 (1) прочитать со стандартного вывода 

 (2) из атрибута file объекта FieldStorage 

 (3) прочитать атрибут file объекта FieldStorage методами read() или readlines() 

 (4) прочитать из файла, имя которого задано в переменной окружения FILE_NAME 


Номер 4
Как вывести бинарный файл из CGI-сценария для передачи web-клиенту?

Ответ:

 (1) передать web-серверу имя файла через стандартный вывод 

 (2) передать web-серверу имя файла и тип содержимого через стандартный вывод 

 (3) вывести файл на стандартный вывод 

 (4) вывести заголовочные поля (как минимум Content-Type), а затем содержимое файла на стандартный вывод 


Номер 5
Что происходит при аварийном завершении CGI-сценария (например, при работе с web-сервером Apache)?

Ответ:

 (1) Web-клиент получает частичное содержимое стандартного вывода 

 (2) Web-клиент получает частичное содержимое стандартного вывода ошибок 

 (3) Web-клиент получает пустой ответ 

 (4) Web-клиент получает сообщение "Internal Server Error" 


Упражнение 2:
Номер 1
В какой переменной окружения передается метод запроса (GET, POST и т.п.)?

Ответ:

 (1) REQUEST_METHOD 

 (2) REQUEST_URI 

 (3) HTTP_CONNECTION 

 (4) QUERY_STRING 


Номер 2
В какой переменной окружения передается имя пользователя (если применяется авторизация)?

Ответ:

 (1) USER_NAME 

 (2) REMOTE_USER 

 (3) USER 

 (4) LOGIN 


Номер 3
Какая ошибка допущена в следующем коде CGI-сценария?
    import cgi

f = cgi.FieldStorage()
if f.has_key("expr"):
  a = f["expr"].value
else:
  a = "0"
e = eval(a)

print e

Ответ:

 (1) не выведены поля (хотя бы Content-Type

 (2) ввод пользователя не проверен на безопасность 

 (3) использованы несуществующие методы объектов FieldStorage 

 (4) ошибок нет 


Номер 4
Какая ошибка допущена в следующем коде CGI-сценария?
import cgi

f = cgi.FieldStorage()
if f.has_key("a"):
  v = str(int(f["a"]))
else:
  v = "0"

print " " "Content-Type: text/html\n" " "
print v

Ответ:

 (1) неправильно использованы методы FieldStorage-объекта 

 (2) ввод пользователя не проверен на безопасность 

 (3) после получения f["a"] нужно взять атрибут value 

 (4) ошибок нет 


Номер 5
Какая ошибка допущена в следующем коде CGI-сценария?
import cgi

f = cgi.FieldStorage()

if f.has_key("a"):
  v = str(int(f["a"].value))
else:
  v = "0"

print " " "Content-Type: text/html\n" " "
print v

Ответ:

 (1) неправильно использованы методы FieldStorage-объекта 

 (2) ввод пользователя не проверен на безопасность 

 (3) после получения f["a"] нужно взять атрибут value 

 (4) ошибок нет 


Упражнение 3:
Номер 1
С помощью какой функции можно подготовить текст для вывода в HTML? 

Ответ:

 (1) urllib.quote() 

 (2) urllib.quote_plus() 

 (3) cgi.escape() 

 (4) cgi.unescape() 


Номер 2
 Какой метод дает возможность получить все значения атрибута b, если он встречается в форме несколько раз?

Ответ:

 (1) form = cgi.FieldStorage(); l = form.getlist("b") 

 (2) form = cgi.FieldStorage(); l = [a.value for a in form["b"]] 

 (3) form = cgi.FieldStorage(); l = form["b"].values 

 (4) form = cgi.FieldStorage(); form.items("b") 


Номер 3
Как обработчик mod_python получает информацию о запросе?

Ответ:

 (1) по аналогии с CGI-сценарием 

 (2) в виде специального объекта, представляющего запрос, переданного как параметр 

 (3) с помощью вызова функции 

 (4) из переменных окружения 


Номер 4
 Как обработчик mod_python передает ответ на запрос?

Ответ:

 (1) по аналогии с CGI-сценарием 

 (2) посредством специального объекта, представляющего запрос, переданного как параметр 

 (3) с помощью вызова функции 

 (4) присваиванием значений переменным окружения 


Номер 5
Как в одном Python-сценарии можно задать несколько различных обработчиков mod_python?

Ответ:

 (1) в различных функциях 

 (2) в различных модулях 

 (3) в различных классах 

 (4) один сценарий может иметь только один обработчик 


Упражнение 4:
Номер 1
Какой из перечисленных обработчиков mod_python выполняется раньше других?

Ответ:

 (1) PythonHeaderParserHandler 

 (2) PythonAuthenHandler 

 (3) PythonHandler 

 (4) PythonPostReadRequestHandler 


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

Ответ:

 (1) PythonFixupHandler 

 (2) PythonPostReadRequestHandler 

 (3) PythonAuthenHandler 

 (4) PythonHandler 


Номер 3
Что включает в себя Zope?

Ответ:

 (1) собственный web-сервер 

 (2) поддержку CGI-сценариев 

 (3) поддержку сценариев DTML 

 (4) СУБД общего назначения 


Номер 4
В каком порядке Zope будет искать index_html для следующего URL?
http://zopeserver/Zigzag/Example/index_html

Ответ:

 (1) только в каталоге /Zigzag/Example/ 

 (2) в каталогах /Zigzag/Example и /Zigzag 

 (3) в каталогах /, /Zigzag и /Zigzag/Example 

 (4) в каталогах /Zigzag/Example, /Zigzag и /???? 


Номер 5
Что включает в себя Zope?

Ответ:

 (1) среду разработки 

 (2) поддержку CGI-сценариев 

 (3) специализированную СУБД для хранения объектов 

 (4) поддержку сценариев на Python и Perl 


Упражнение 5:
Номер 1
Как используется строка Main Heading в следующем примере?
<h1 tal:content="here/title">Main Heading</h1>

Ответ:

 (1) в качестве имени переменной для макроподстановки 

 (2) в качестве заглушки, чтобы в средствах визуального форматирования было видно, что форматируется 

 (3) строка не используется 

 (4) содержит значение, на которое можно сослаться в другом месте документа 


Номер 2
Что такое tal в следующем фрагменте разметки?
<h1 tal:content="here/title">Main Heading</h1>

Ответ:

 (1) имя переменной для макроподстановки 

 (2) указание на принадлежность пространству имен языка TAL 

 (3) имя модуля, к которому относится макрос content 

 (4) указание на то, что далее следует значение, на которое можно сослаться в другом месте документа 


Номер 3
Что обозначает $el в примере, использующем TAL?
<a href="DUMMY"
            tal:attributes="href string:/digit/$el"
            tal:content="el">SELECTION</a>

Ответ:

 (1) имя переменной для макроподстановки в атрибут 

 (2) литеральное значение для подстановки в атрибут 

 (3) имя переменной для макроподстановки внутрь тега <a> 

 (4) литеральное значение для подстановки внутрь тега <a> 


Номер 4
Что обозначает k в примере, использующем TAL?
<a href="k"
            tal:attributes="href string:/digit/$el"
            tal:content="el">SELECTION</a>

Ответ:

 (1) имя переменной для макроподстановки в атрибут 

 (2) литеральное значение, которое при заполнении шаблона заменяется другим значением 

 (3) имя переменной для макроподстановки между <a> и </a> 

 (4) литеральное значение для подстановки между <a> и </a> 


Номер 5
Что обозначает k в примере, использующем TAL?
<a href="k"
            tal:attributes="href string:/digit/$el"
            tal:content="el">SELECTION</a>

Ответ:

 (1) имя переменной для макроподстановки в атрибут 

 (2) литеральное значение, которое при заполнении шаблона заменяется другим значением 

 (3) имя переменной для макроподстановки между <a> и </a> 

 (4) литеральное значение для подстановки между <a> и </a> 




Главная / Программирование / Язык программирования Python / Тест 8