Щас бы проверять число 163535135135168153216351213513212220389489746187961897165064811980198498708798481684848617575198486847521658161654650648465546516810981654798751651981654941346503186 или 1.5 или -1 или "привет" или None или ['иди', 'нахуй', 'пидор']
В изначальной картинке Трамп показывал журналисту какую-то полнейшую шляпу с видом что это величайшая правда ацтеков, с которой журналист кекнул. Тут пограмист показывает не самый эффективный код с видом что ему за это дадут миллион денег в минуту
На картинке в мемасе это пример алгоритма с эффективностью (O (N)), то-есть скорость алгоритма зависит от величины числа. Сама задача "правильно" (O (1)) в питоне решается или через % оператор, который работает как деление, но смотрит на остаток, либо через по битовый оператор & который смотрит на число в двоичном исчислении.
Да и вообще, зря докопались до дедушки. Было весьма самокритично с его стороны выложить этот фейл. Начал Питон учить, молодец какой. Можно и оффер нормальный дать. В конце концов, не в каждой конторе питонистом трудится бывший президент.
Щас бы проверять число 163535135135168153216351213513212220389489746187961897165064811980198498708798481684848617575198486847521658161654650648465546516810981654798751651981654941346503186
или 1.5
или -1
или "привет"
или None
или ['иди', 'нахуй', 'пидор']
типичная ситуация в языках без строгой типизации, и хитрых обёрток вокруг них типа TypeScript, когда у тебя есть строгая типизация, но это отменяет того что тебе на вход может прийти что угодно, поперёк всех типов
Ну в ts какбэ не может если ты сам себе не дурачок. Любые внешние днные должны иметь тип unknown и кастоваться через тайпгарды. Если ты сам их прописываешь как-то иначе - это проблемы с твоим кодом, а не с языком.
это понятно, что нужно по уму нужно обмазываться проверками, но это так же не отменяет того что не весь твой бандл с кодом будет на TS, там скорее будут либы на чистом JS. и наоборот, твой код может вызываться из JS кода. а там уже как получится.
Обычно данные приходят от юзера или из БД, или хуже всего - от интеграции с внешними ресурсами (которые в любой момент могут сменить типы данных в ответах). К моменту, когда это становится проблемой, остаётся только одно место, где это можно контролировать, и только одно лицо, чтобы его выебать и заставить переделывать.
Принцип нулевого доверия требует использовать строго типизируемые языки, а не эти ваши питоны. Питон - это про "хуяк-хуяк, лаба готова", а не про нулевое доверие.
В питоне безразмерный BigInt, будь там цикл, работало бы, пока число влезает в оперативу. А так, рекурсия в StackLimit упрётся через 1000 (или около того) вызовов.
Тот случай, когда отсутствие компиляции и оптимизации рекурсии в цикл скорее спасает...
Ибо в цикле с бигинтом будет весело, бигинт на всю оперативу - это раком станет всё.
Пришел устраиваться на работу. Тебе дают небольшую бумажку с программным кодом. Ты малец охуел и это отразилось на твоем лице. Ну как тебе такая сумма? - спрашивает рекрутёр. И ты понимаешь, что если ты терпеливый - работа твоя.
» 4 in l <- false
Programmer Memes
@iammemeloper
Without a doubt, the best programming language
11:09 PM -Sep28, 2023 121.6K ¡ews
» let l = [1,2,3,4]
<- undefined
» 0 in l <- true
» "0" in l <- true
или 1.5
или -1
или "привет"
или None
или ['иди', 'нахуй', 'пидор']