Вход | Регистрация

Втора задача

  • изходния текст:

    '

    hhhh

    [imsocool]Примигвам, примигвам!

    Ослепявам, ослепявам![/imsocool]

    xyz'

    31.03.2010 (променeно 31.03.2010)
  • Да, трябва да има <br /> след затварящия <span>.

    31.03.2010
  • Мерси за отговорите.

    31.03.2010
  • Какво точно се има предвид тук: "Всеки ред, започващ с # се игнорира." -- в резултата не трябва да се съдържат коментарите или си остават без да ги обработване просто?

    Също, това валидно заглавие ли е: "== = = Баба == = ="? Започва и завършва с еднакъв брой '='.

    31.03.2010
  • @Владимир : За заглавието според мен няма да се преобразува - започва с "==" и завършва с "разстояние =".

    31.03.2010 (променeно 31.03.2010)
  • Въпросът за коментарите е отговорен на предната страница. А заглавието започва и завършва с по едно '=' => <h1>= = = Баба == = <\h1>?

    31.03.2010
  • @Виктор:Може би си прав.Пробвах го с моето решение и е така както ти казваш,но ми е интересно как точно се прави оценката,тъй като израза за "=" трябва да е greedy.Вероятно изпълнява всички случаи докато намери съвпадение...

    31.03.2010
  • @Виктор: Заглавието, което съм написал ("== = = Баба == = =") започва с '==', не с '=' и завършва с '='. Въпросът беше, че броя на '=' е равен в началото и края, но явно под край трябва да се разбира първото срещане на ' ', а не на текст.

    31.03.2010 (променeно 31.03.2010)
  • Сега ти разбрах забележката. След като Николай е писал, че ако почва с място и равно е невалидно предполагам и това не е, но да кажат все пак :)

    31.03.2010
  • Имам няколко въпроса относно домашното: 1.Може ли на един ред да има >1 e-mail или уеб адреси ? 2.Как да разпознаем началото на адрес? 3.Текстът може ли да бъде прочетен от файл ?

    31.03.2010
  • Thumbs_up

    1. В условието има пример с един адрес и една поща на един ред...няма логика да не може да са и повече. Най-малкото и двете са си адрес и се преобразуват до едно и също.

    2. Лично аз бих се старал да го разпозная целия, а не само началото :) Иначе за 'непощенските' - "Непощенските адреси започват с http://". А пощите...ами те си имат @...и разбира се mityo@python не е поща.

    3. kiss(text) си приема текста директно - в примерния тест е така.

    01.04.2010 (променeно 01.04.2010)
  • На въпросите с равнотата – правете каквото сметнете за по-логично. Няма да загубите точки от това.

    На другия въпрос Михаил е отговорил добре.

    01.04.2010 (променeно 01.04.2010)
  • Може ли да имаме клас в друг клас?Има ли значение как са разположени параграфите, т.е. целия клас да е само в един параграф?

    01.04.2010
  • @Йолина, може да имаме един клас в друг, но никой клас няма да се разпростира в повече от един параграф.

    01.04.2010
  • Сигурно аз съм глупав и не съм го разбрал но ще попитам пак. Николай каза: @Велина, @Виктор, коментарите не правят нов параграф. Все едно редът с тях го е нямало. Това ще рече ли че ред, който съдържа коментар се замества с ''(празен стринг), с други думи в изходния стринг не се съдържа. Или просто този ред не се обработва но се съдържа като коментар във изходния стринг.

    01.04.2010
  • @Aтанас: Аз също не разбрах в крайна сметка как точно се иска това. Най-добре да се даде един пример, който има коментар и съответно какъв резултат трябва да изведе програмата.

    01.04.2010
  • Аз искам да попитам как да екранирам по-лесно примерно n на брой "["...Например: [asd]sometext[/asd] #sometext = [a]some_other_text[/a].Проблема е ,че sometext е известен compiletime ,опитах да го конвертирам до raw,но като че ли не работи за "["...

    01.04.2010
  • Вложеност имаме само на списъци и специален текст, но не и на параграфи нали (поне до такъв извод стигам от примерния тест) ?

    01.04.2010
  • @Атанас, редът не се включва изобщо в резултата. Обнових и условието.

    @Николай, не съм сигурен, че разбирам въпроса ти. В регулярен израз ли се опитваш да екранираш средни скоби? Ако е така, ползвай re.escape()

    Освен това, слагай интервал след препинателния знак, а не преди него.

    @Антон, параграфи не се влагат. Разбира се. Между другото и списъци не се влагат, тъй като всеки елемент на списък се състои само от един ред.

    01.04.2010 (променeно 01.04.2010)
  • Kak мога да заместя текст с друг текст ,който отговаря на рег.израз?

    01.04.2010
  • @Филип http://docs.python.org/library/re.html#...

    01.04.2010 (променeно 01.04.2010)
  • може ли да попитам, защо това не работи:

    femail = re.findall('регулярен израз(правилен е!)', text)
    for i in range(0, len(femail)):
            text.replace(femail[i], 'the thing\"' + femail[i] + '\"Repeat:' + femail[i])
    като това работи
    >>> femail = re.findall('регулярен израз(правилен е!,същият като горе)', text)
    >>> text.replace(femail[0], 'the thing\"' + femail[0] + '\"Repeat:' + femail[0])

    Някаква идея ?!

    01.04.2010 (променeно 01.04.2010)
  • Символните низове са immutable.Това означава, че трябва всеки път да присвояваш text на това, което ти се връща от replace-a:

    >>> s = "nikolavp"
    >>> s.replace('vp', '')
    'nikola'
    >>> s
    'nikolavp'
    01.04.2010 (променeно 01.04.2010)
  • Благодаря много, стана ;)

    01.04.2010
  • След като стилове могат да се влагат тогава как се трансформира това:

    '[outer]xyz
    [inone]xyz
    yyy
    uuu
    ppp
    xyz![/inone]
    ppp
    xyz![/outer]
    last'


    в следното или в нещо друго (т.е трябва ли да слагаме някъде вътре в най-въшния стил outer отново br, например на другия span):

    <span class="outer">xyz
    <span class="inone">xyz
    yyy
    uuu
    ppp
    xyz!</span>
    ppp
    xyz!</span><br />
    last

    В случай на повече от един нови редове, списъци или заглавия в стиловете, как се трансформира следното, (в един span) или (в 2 параграфа като [xxx] и [/xxx] са просто string), предвид това че нови редове, списъци или заглавия служат за краища на параграфи, т.е кое е с по силен приоритет:

    '[inone]xyz



    xyz![/inone]'

    или например:

    '[inone]xyz
    ===а===
    xyz![/inone]'
    01.04.2010 (променeно 02.04.2010)