Критерий «ещё можно понять», в общем-то выполняется. Похоже, Arnö пишет на очень простом и аккуратном языке, и к тому же старается переформулировать, если после двойного перевода получается полный бред.
Тут нет ничего странного. Сначала тестеры проверили пару основных use cases и нашли 20 ошибок, после чего резонно предположили, что обеспечили программиста работой на ближайшую итерацию и можно расслабиться. Половину из них программист отправил назад с тагами INVALID и WORKSFORME (просто потому, что тестеры не дочитали документацию — а скорее, её просто на этот момент не существовало в природе), остальными начал заниматься. В это время тестерам надоело пинать балду, они написали еще одну пачку тестов и нашли еще 20 ошибок… ну и так далее.
К сожалению, это quick hack, который не развивается уже два года. Полностью отсутствует поддержка XML namespaces, что тоже несколько ограничивает применение. Ну и XPath тоже не хватает — так что придётся продолжать пользоваться старым добрым ElementTree в имплементации lxml
[physics teacher hat on]
Вообще-то энергия получается совсем не из лимона — просто лимонная кислота работает электролитом в простом медно-цинковом гальваническом элементе. Так что постепенно цинковая часть будет корродировать, пока лимоны её совсем не съедят ;)
О ужас, pyrex-ом кто-то пользуется??? Мне он показался невообразимым костылем, поскольку не решает главной проблемы — простого и быстрого построения интерфейса к готовым библиотекам из мира C/C++.
А если просто надо быстро что-то сосчитать, в 90% случаев хватает NumPy и Weave.
Программист должен быть ленив. Гораздо проще и приятнее писать экстеншены на boost.python. В крайнем случае, если очень не хочется C++, существует SWIG
Впрочем, если надо написать простой модуль-прослойку из пары функций, нативный питоновский интерфейс достаточно удобен.
С факториалами жизнь становится очень легка. Из двух девяток можно построить
36=sqrt(9)!*sqrt(9)!
54=9*sqrt(9)!
81=9*9
99
Вокруг такого «ядра» можно построить числа от N-10 до N+10, например,
44=-1-9+9*sqrt(9)!, 45=-1*9+9*sqrt(9)!, 46=1-9+9*sqrt(9)!, 47=-1-sqrt(9)!+9*sqrt(9)!… 64=1+9+9*sqrt(9)!
В первой сотне остались непокрытыми только числа от 65 до 70 — придется с ними разбираться вручную:
Господа авторы, добавьте, пожалуйста, ссылку на оригинальный материал и на скачиваемый аудиофайл. А то ваш пост выглядит как хорошая идея в очень плохом исполнении.
Вообще-то энергия получается совсем не из лимона — просто лимонная кислота работает электролитом в простом медно-цинковом гальваническом элементе. Так что постепенно цинковая часть будет корродировать, пока лимоны её совсем не съедят ;)
А если просто надо быстро что-то сосчитать, в 90% случаев хватает NumPy и Weave.
We are glad to have good competitors pushing technology innovation — Microsoft CEO Steve Ballmer
Видимо, серьезный конкурент :)
Впрочем, если надо написать простой модуль-прослойку из пары функций, нативный питоновский интерфейс достаточно удобен.
I cut my finger == Я порезал палец
640 килобайт31 файл хватит на всех!Сделано здесь
36=sqrt(9)!*sqrt(9)!
54=9*sqrt(9)!
81=9*9
99
Вокруг такого «ядра» можно построить числа от N-10 до N+10, например,
44=-1-9+9*sqrt(9)!, 45=-1*9+9*sqrt(9)!, 46=1-9+9*sqrt(9)!, 47=-1-sqrt(9)!+9*sqrt(9)!… 64=1+9+9*sqrt(9)!
В первой сотне остались непокрытыми только числа от 65 до 70 — придется с ними разбираться вручную:
65=1+(sqrt(9)!/sqrt(9))sqrt(9)!
66=19*sqrt(9)+9
67=(1+sqrt(9))sqrt(9)+sqrt(9)
69=(1+9)*sqrt(9)!+9
70=(1+sqrt(9))sqrt(9)+sqrt(9)!
Осталось разобраться с 68.
38=19*(sqrt(9))!/sqrt(9)
38=19*(.(9)+.(9))
поскольку .(9) = .999999999999… = 1