LINUX.ORG.RU

Неинтересно.

Deleted
()
Ответ на: комментарий от MyTrooName

FUUUUU

Это, видимо, если считать только ответы «Да, возможно» и «Нет, невозможно». Если ты на каждый ответ «Да, возможно» привёл нужный код, то, я бы сказал, твои результаты значительно лучше случайных.

proud_anon ★★★★★
()

Слабо по сравнению с жабаскриптом или, что ещё хлеще, пхп. Вот там раздолье для говнокода, что только позавидовать можно.

rupert ★★★★★
()

Converting to a string and back
Mixing integers with strings
Operator precedence?
Iterable types in comparisons

Справедливости ради - в этих блоках кода все корректно и логично... чего не скажешь о других примерах :)

alienclaster ★★★
()

Тупняк по большей части.

anonymous
()

The wats

>>> bool(str(False))
True

А что, собственно, не так?

Там похоже самый большой 'WAT' это мозги автора =)

Siado ★★★★★
()
Последнее исправление: Siado (всего исправлений: 1)

Пролистал примерно половину. Не нашёл «неочевидного» поведения. Некоторые вещи - python2 only.

buratino ★★★★★
()

Там все логично, если подумать. С watman даже сравнивать смешно.

anonymous
()

Узнал что-то новое, но половина примеров неожиданна только для непосвящённых. Например, с повторным использованием итераторов.

Про bool(str(False)) я вообще не понял зачем это там. На такое купятся только js-программеры.

Интересно, а пример «x = (1 << 53) + 1» правда специфичен только для питона?

true_admin ★★★★★
()

Решил только 5 и 6. До сравнения set'ов не додумался, count пустой строки - новое для меня (надо посмотреть как он работает вообще), разворачивание аргумента из двойного листа не допер (посыпаю голову пеплом), и со строками в последнем тоже протупил.

ei-grad ★★★★★
()

Ничего интересного, разочарован :-(

FIL ★★★★
()
Ответ на: комментарий от loz

хыы. а я только недавно узнал, что можно делать False = True, например.

еще можно случайно сделать так.

except FooException, BarException
exception13 ★★★★★
()

Всего реальных wat (~ косяк заложенный сознательно в яп) только одна штука, это all([]). Остальное примерно три баги - древний c «+=» и два с численными типами.

mashina ★★★★★
()
Ответ на: комментарий от mashina

Всего реальных wat (~ косяк заложенный сознательно в яп) только одна штука, это all([]).

Это не баг, а глубоко продуманное решение, как и то, что any([]) == False. потому что Гвидо не прогуливал в универе математику, в отличие от некоторых. В алгебре для любой ограниченной решётки выполняется ⋁∅=0 и ⋀∅=1. По-другому нельзя, т. к. это поломало бы всё на свете. И с житейской точки зрения в этом есть ясный смысл: список из 0 условий считается выполненным. Когда ты из списка Todo вычёркиваешь последний пункт, он же становится выполненным полностью. А если б нет, как вообще жить?

anonymous
()

Note: this is not simply due to floating-point imprecision.
>>> x = float((1 << 53) + 1)
>>> x + 1.0 < x
False

wat? автор идиот)

ei-grad ★★★★★
()

Если бы прочитал сначала его README, то даже не пытался бы опрос проходить) Бессмысленно)

ei-grad ★★★★★
()

90% в README просто от непонимания автором предмета)

ei-grad ★★★★★
()
Ответ на: комментарий от anonymous

Когда ты из списка Todo вычёркиваешь последний пункт, он же становится выполненным полностью. А если б нет, как вообще жить?

Твой пример описывает семантику len(todo), а не all(todo). Для all(todo) список уменьшаться не может, может только меняться атрибут готовности.

mashina ★★★★★
()
Ответ на: комментарий от mashina

По другому можно и нужно, должен быть None.

Можно, но в Питоне решили использовать булеву логику, а не женскую.

anonymous
()
Ответ на: комментарий от exception13

еще можно случайно сделать так.

Только во втором питоне.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Интересно, а пример «x = (1 << 53) + 1» правда специфичен только для питона?

нет, везде где float это float выполняется

(float(1 << 53)) == (float(1 << 53) + 1)

ei-grad ★★★★★
()
Ответ на: комментарий от mashina

Список дел на пятницу:

>>> todo = [Task("сходить на работу", Task("сходить в магазин"), Task("вынести мусор")]

Когда все дела выполнены:

>>> [task.is_completed() for task in todo]
[True, True, True]
>>> all(task.is_completed() for task in todo)
True

Список дел на субботу:

>>> todo = []  # день отдыха
>>> [task.is_completed() for task in todo]
[]
>>> all(task.is_completed() for task in todo)
True

Или ты хочешь, чтобы Питон вернул False, и пустой список дел было невозможно выполнить? Или хочешь всё время проверять пустой список с помощью len() как особый случай? Ты понимаешь, что твоя логика противоречит математической логике?

В документации есть код, чудесно иллюстрирующий дуальность операций all() и any(). Помедитируй над этим. И над тем, почему ⋃∅=∅, но ⋂∅=U (универсальное множество). Дальше думай сам, не могу тратить на тебя весь выходной.

anonymous
()
Ответ на: комментарий от ei-grad

В сях этого нету:

#include <stdint.h>
#include <stdio.h>
int main(void) {
  int64_t x = 9007199254740993;
  printf("%d\n", x+1.0 < x);
}

Я так понимаю, всё дело в том что к чему приводить.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin
#include <stdint.h>
#include <stdio.h>
int main(void) {
  int64_t x = 9007199254740993;
  printf("%d\n", (int64_t)(x + 1.0) < x);
}
ei-grad ★★★★★
()
Последнее исправление: ei-grad (всего исправлений: 1)
Ответ на: комментарий от alienclaster

В The undocumented converse implication operator тоже всё логично. Посмотри возведение в степень что возвращает. Попросту True и False это define True 1, define False 0 в интерпретаторе. Там вполне логичное поведение. Как и в Mixing numerical types. Тут играют с максимальной точностью Double.

Deleted
()
Ответ на: комментарий от ei-grad

Хотя хз, надо хорошо думать, в какую сторону приводить, к большей или меньшей точности. Интересно, а как Julia себя ведет, там вроде в документации хорошо расписано что к чему и почему приводится...

ei-grad ★★★★★
()
Ответ на: комментарий от ei-grad

js оказывается вообще эпичен))

> 9007199254740993
9007199254740992

TDrive ★★★★★
()
Ответ на: комментарий от true_admin

Узнал что-то новое, но половина примеров неожиданна только для непосвящённых.

*ехидное perl-хихиканье*

Deleted
()
Ответ на: комментарий от Deleted

У питона простая внутренняя логика, которая объясняет все сабжевые «странности». У перла - 10000 особых случаев, которые невозможно запомнить и невозможно понять.

anonymous
()
Ответ на: комментарий от mashina

Меня как раз += убил. Получается, строгой гарантии безопасности исключений в питоне для встроенных операций нет?

vzzo ★★★
()
Ответ на: комментарий от anonymous

простая внутренняя логика

понятная лишь просвящённым питонистам.

def foo():
    def bar():
        pass
    return bar

print foo() == foo() # false
Deleted
()

7/10 без интерпретатора. Второй, четвертый и десятый удивили, а вот какой-нибудь 8 вообще ни о чем.

t184256 ★★★★★
()

Мне не нравится сама идея того, что выполнение кода будет зависеть от его форматирования.

torvn77 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.