Учебная страница курса биоинформатики,
год поступления 2016
Контрольная 2a
Часть 1. Написать функцию, имеющую единственный аргумент типа str (строка) и возвращающую первую (самую левую) подстроку входной строки, имеющую форму HTML-тэга, то есть начинающуюся с "<", заканчивающуюся ">" и не содержащую других символов "<" или ">", кроме начального "<" и конечного ">". Если тэгов в строке нет, должна возвращаться пустая строка.
Модуль с функцией может называться произвольно, но должен лежать в директории H:\term1\block3\test2 и вызываться программой части 2.
Примеры применения
Пусть функция называется "foo" и лежит в файле "myfunc.py".
>>> from myfunc import foo >>> s = "abc <P> def" >>> foo(s) '<P>' >>> s1 = "<HTML><BODY><TITLE>" >>> foo(s1) '<HTML>' >>> s2 = "This string contains no tags" >>> foo(s2) '' >>> s3 = "Here only unfinished tags are presented: <A " >>> foo(s3) ''
Часть 2. Написать программу, которая читает файл, чьё имя вводится как первый аргумент командной строки, и печатает для каждой строки этого файла, содержащей завершённые тэги, номер этой строки в файле (первая строка имеет номер 1), затем через табулятор число завершённых тэгов, затем, опять через табулятор, конкатенацию этих тэгов (сумму соответствующих строк). Программа должны вызывать функцию части 1. Пустых строк и строк, соответствующих строкам исходного файла без тэгов, в выдаче быть не должно.
Пример
Содержимое входного файла:
<HTML> <HEAD><TITLE>Something</TITLE></HEAD> <BODY> <H1>Title</H1> <A href = "http://www.google.com"> Google</A> That is all </BODY> </HTML>
Вывод программы:
1 1 <HTML> 2 4 <HEAD><TITLE></TITLE></HEAD> 3 1 <BODY> 4 2 <H1></H1> 7 1 </A> 9 1 </BODY> 10 1 </HTML>
Программу назвать "cw2a.py" и положить в директорию H:\term1\block3\test2 (т.е. туда же, куда модуль с функцией). Оба файла должны быть готовы к 11:45.