Слово «пёстрый» означает «с хаотичными вкраплениями разных цветов». Рукописи гг не делают так со стенами, присмотритесь к иллюстрациям, это — не конфети.
Вообще такой стиль характерен для желтой прессы. Нормальный ход, нуачо?
Кто-то сделает одну задачку за 5 минут, а кто-то за 35.
Если это, конечно, не учебный процесс — тогда идите до конца )
Не вижу противоречия — учиться можно до полного просветления, а решать рабочие проблемы желательно в срок. В императивном стиле почти всякий джун что-нибудь да изобразит, а в декларативном может и застрять. Я вот об этом.
Парсинг даты регулярками — задача надуманая чуть менее, чем парсинг ими html/xml. Зато знание стандартной библиотеки избавляет от многих страданий. Python:
import re
from datetime import date
def parce_date(s: str) -> date:
try:
return date.fromisoformat(
re.sub(r'^(\d\d)\.(\d\d)\.(\d{4})$', r'\3-\2-\1', s))
except ValueError as e:
raise e # тут пишем обработчик, какой хотим
print(parce_date('05.08.2015')) # ok
print(parce_date('99.99.2000')) # error
Я бы дополнил статью пояснением, когда не следует применять регулярки: «Если у вас не получается за 5/10/15 минут решить вашу задачу с помощью регулярки, решайте её иным способом. Если это, конечно, не учебный процесс — тогда идите до конца )»
Всё верно, вот только в статье возвращается функция, а вы написали генератор.
Чтобы получить схожий результат, нужно вызывать композицию его с next(), как-то так:
def fibonacci():
fib1, fib2 = 0, 1
while True:
fib1, fib2 = fib2, fib1 + fib2
yield fib1
f = fibonacci()
for _ in range(10):
print(next(f))
Действительно, в обоих вариантах модуль импортируется целиком, что неудивительно — в модуле может быть код инициализации (а может и не быть).
Видна также выгода от импорта аттрибута модуля — при обращении к нему экономится аж целый LOAD_ATTR. Это очень быстрый опкод, но иногда хочется еще быстрее.
from timeit import timeit
setup = """
import math
from math import pi
def foo(): return math.pi
def bar(): return pi
def baz(): return __import__('math').pi"""
print(timeit('foo()', setup=setup))
print(timeit('bar()', setup=setup))
print(timeit('baz()', setup=setup))
Исходный однострочник прекрасен, нет слов. И всё же заметьте, что в авторской постановке задачи, как и в авторском тестовом наборе, о сложносочинённых инициалах речи нет. Иногда это важно.
Мне показалось, вы интересовались скоростью решения. Надо полагать, более не интересуетесь. Ну и ладно.
А всё же согласитесь, моё решение еще и читабельно.
Ох уж эта молодость! Дискету как, часто в дисковод вставляешь? По-прежнему читается? Ну орёл!
Знакомые удивляются, как это — заголовок «Проблема логических языков программирования», и не строки кода? Не считывают они, что весь текст статьи — код на эзотерическом языке 'Эпилог', языке кинетическом, кларнетическом, протяжном.
И память для этого нужна на самом памятном уровне, иные уровни здесь не вытянут.
p.s. для дочитавших досюда — закрывающий тэг \сарказм.
Вообще такой стиль характерен для желтой прессы. Нормальный ход, нуачо?
испещрять
В оригинале were covered, с переводом справится и шестиклассник. Переводчика понесло.
Речь шла о разрывах и изломах (cusp, острый выступ).
Чтобы получить схожий результат, нужно вызывать композицию его с next(), как-то так:
Выхлоп будет примерно таким:
Действительно, в обоих вариантах модуль импортируется целиком, что неудивительно — в модуле может быть код инициализации (а может и не быть).
Видна также выгода от импорта аттрибута модуля — при обращении к нему экономится аж целый
LOAD_ATTR
. Это очень быстрый опкод, но иногда хочется еще быстрее.Выхлоп:
Заголовок огонь, Life News аплодирует.
Мне показалось, вы интересовались скоростью решения. Надо полагать, более не интересуетесь. Ну и ладно.
А всё же согласитесь, моё решение еще и читабельно.
Знакомые удивляются, как это — заголовок «Проблема логических языков программирования», и не строки кода? Не считывают они, что весь текст статьи — код на эзотерическом языке 'Эпилог', языке кинетическом, кларнетическом, протяжном.
И память для этого нужна на самом памятном уровне, иные уровни здесь не вытянут.
p.s. для дочитавших досюда — закрывающий тэг \сарказм.
Воистину ерунду. Объекты для счёта построены, товарищ прапорщик.