Четвърта задача

  1. @Атанас Димитров

    Да речем че имаме телефона 0037288888888 в интернационален запис, тогава кое е кода на държавата - 3, 37 или 372?

    Според мене при такова двусмислие трябва да се вземе максималният възможен код, защото така сме консистентни с "алчноста" на регулярните изрази.

  2. Защо? Нали разделителите са опционални .Т.е не трябва ли 0037288888888 и 0037 288888888 да връщат един и същ резултат? И ако не е така да приемаме ли, че при всеки телефонен номер в интернационален формат се очаква да има разделител след международния код?

  3. @Димитър според мен когато флагът partially_preserve_email_username е вдигнат, това автоматично трябва да значи, че и флагът preserve_email_hostname е вдигнат. Тоест няма как partially_preserve_email_username да е вдигнат, а preserve_email_hostname да не е. А когато 2-та флага са вдинати то се филтрира само част от потребителското име в даден валиден мейл, като първите три символа се запазват, ако дължината на потребителското име в email-а е под 6 символа обаче, то се филтрира цялото потребителско име.

    Примерно:

    при вдигнат флат partially_preserve_email_username

    asdfghjkl@abv.bg -> asd[FILTERED]@abv.bg

    asdfg@abv.bg -> [FILTERED]@abv.bg

    а когато само флагът preserve_email_hostname е вдигнат

    asdfghjkl@abv.bg -> [FILTERED]@abv.bg

    asdfg@abv.bg -> [FILTERED]@abv.bg

    Ако греша моля някой да ме поправи :)

  4. @Kирил

    0037288888888 - не е валиден телефонен номер. 0037 288888888 е валиден в интернационален формат

    Поне според правилата описани в условието ми изглежда напълно валиден. Какво имаш предвид ?

  5. Във Validations за първото не съм сигурен, но би трябвало да не е валиден номер, защото ти започва с интервал, а във второто имаш случайни символи, различни от цифра и точка, което си е невалидно според условието.

  6. Ако 0037288888888 не е валиден, то тогава този тест

    self.assertTrue(solution.Validations.is_phone('+35929555111')) няма ли да бъде грешен?

    Извинявам се, моя грешка. Възползвайте се от алчността на регулярните изрази. Т.е. в случая взимаш максималните три цифри след плюса.

  7. @Момчил, Под "дата и час" ще разбираме горните два формата(дата/час), събрани заедно с разделител или интервал, или главна латинска буква T. => 2012-11-19 T 19:00:00 не е валиден date_time,защото има 2 интервала и T,щеше да е о.к,ако имаше само веднъж T или само един интервал по средата. :)

  8. @Пламен според мен това е валиден номер с международен код 3 (тъй като международния код може да е от 1 до 3 символа) и цяла част 59 1- 243 ("нищо" , " " и "- " са валидни разделители тъй като имаш опционално до 2 разделителя тоест може да няма нито един, един или два разделителя и имаш общо 6 цифри, така че всичко си е ОК и с цялата част)

    Така че мисля че +359 1- 243 и +3 591243 са един и същ номер написан по различен начин.

  9. @Момчил, из първата страница,

    В реалните тестове как се очаква да се казва функцията is_date_time или is_datetime?

    Прав си. Моя грешка, поправих я. Методът трябва да бъде is_datetime.

    т.е. ако не си го копирал просто набързо, а си пишеш функцията с долна черта (is_date_time), няма да ти минат тестовете.

  10. Телефонният номер 0037288888888 е валиден. За числата 0000 трябва да е валидно, а 00012000 - не. (Позовавам се на интерпретатора, според който type(0000) e <class 'int'>, a type(00012000)

    File "<stdin>", line 1

    type(00012000)

    SyntaxError: invalid token

    EDIT: според условието:

    може да следва или само една 0,

    значи 0000 няма да е валидно число

  11. +359 88 121-212-12 това е пример от условието за интернационален телефонен номер. Там е казано, че същинската част може да започва опционално с разделител(и). Това означава, че в примера кода на държавата не е 359, а 3 или 35?

  12. Добре, сериозно. Този ред от условието отговаря конкретно на този въпрос.

    може да следва или само една 0, или пък цифра от 1 до 9, последвана от неограничен брой други цифри от 0 до 9


    Ще се подават ли стрингове като този:

    'someone@example.com and Reach me at: 0885123123'

    Да.


    @Владимир, отговорено е на този въпрос.

  13. А сега усещам, че не знам какво искате да кажете в условието същинската част не може да завършва на разделител, но може да започва с разделител(и) тези скоби ги имате предвид за разделител в низа с телефонния номер или просто сте искали да напишете "разделител/разделители" по-накратко?

Трябва да сте влезли в системата, за да може да отговаряте на теми.