@python_beginnersЭта группа больше не существует

Страница 165 из 1885
Andy
21.07.2016
17:40:33
http://puu.sh/q9xou/dcb9ad0d4c.png

нумпи сила

Sergey
21.07.2016
17:41:37
А алгоритм, работающий только для одного языка, не очень хорош для обучения
оба варианта будут плохо вне python 3.x ибо range только здесь генератор

Denis
21.07.2016
17:42:09
Google
Sergey
21.07.2016
17:42:33
В чем проблема range(1, 100) в другом питоне?
в 2.x это список, надо использовать xrange)

Denis
21.07.2016
17:43:00
в 2.x это список, надо использовать xrange)
Вовсе не обязательно, на таких размерах они работают одинаково быстро

dmks
21.07.2016
17:44:10
А алгоритм, работающий только для одного языка, не очень хорош для обучения
Простите, но это не сам алгоритм, а его реализация. Смысл делать реализации на разных языках одинаковыми?

Sergey
21.07.2016
17:44:43
range: The slowest run took 11.08 times longer than the fastest. This could mean that an intermediate result is being cached. 100000 loops, best of 3: 10.5 µs per loop xrange: 100000 loops, best of 3: 9.92 µs per loop первый вызов в 11 раз медленнее, остальные сравнимы, да

Denis
21.07.2016
17:45:39
Простите, но это не сам алгоритм, а его реализация. Смысл делать реализации на разных языках одинаковыми?
Нет, я про алгоритм. range(s) при изменяющемся s в питоне работает, а в других языках range нет, и цикл с теми же границами там будет работать по-другому

Denis
21.07.2016
17:47:14
Человеку, который только начал изучать программирование, будет сложно написать свой range

ну там вместо range будет просто for до s
For до s как раз работать не будет

Andy
21.07.2016
17:47:37
почему

Sergey
21.07.2016
17:48:01
он берет s=5 и умножает на него числа от 1 до s-1

Google
Denis
21.07.2016
17:48:24
Потому что при вызове range используется то значение, которое было в момент вызова. Затем оно изменяется

Если делать фор до s, например, в с++, он выполнится больше 5 раз, так как s увеличилось в процессе

Sergey
21.07.2016
17:49:05
это мы уже в тонкости реализации лезем

Denis
21.07.2016
17:49:17
Это как раз не тонкости

В с++, чтобы этот алгоритм заработал, нужно писать еще какие-то костыли

А мой работает везде без изменений

Sergey
21.07.2016
17:55:40
как раз таки тонкости работы с памятью

Denis
21.07.2016
17:56:29
Памятью? При чем тут память?

Sergey
21.07.2016
17:57:19
переменные не в астрале летают

Denis
21.07.2016
17:57:43
Это особенность функции range, а не памяти

Если новичок будет полагаться на эту особенность в одном языке, ему будет сложнее перейти на другие

Sergey
21.07.2016
17:59:17
Вот я не понимаю зачем все языки грести под одну гребенку.

А то я сейчас brainfuck вспомню. например

Denis
21.07.2016
18:00:12
В большинстве популярных языков цикл for имеет си-подобную стркктуру

Sergey
21.07.2016
18:00:38
s/большинстве популярных/си-подобных/

Denis
21.07.2016
18:01:04
Большинство популярных языков си-подобные

c++, Java, C#, js, php

Даже в паскале нет range, хоть он и не си-подобный

Sergey
21.07.2016
18:07:44
А потом люди пишут на python как на php и удивляются, что их код обзывают нехорошими словами)

Denis
21.07.2016
18:08:56
То есть не хранить в одной переменной два разных по смыслу значения это как на php?

Google
Sergey
21.07.2016
18:10:40
Это другой подход

Denis
21.07.2016
18:11:26
Это не лучший для новичка подход, да и вообще он не лучший

Denis
21.07.2016
18:12:22
Чем же?
Тем, что код становится менее понятным

Sergey
21.07.2016
18:12:31
Не согласен

Зачем заводить лишнюю переменную, если можно обойтись без нее?

Denis
21.07.2016
18:13:36
Я не могу понять твоих аргументов. Мне кажется, ты споришь только потому, что хочешь поспорить.

Зачем заводить лишнюю переменную, если можно обойтись без нее?
Потому что так понятно, что делает каждая переменная, к тому же это работает во всех языках

Andrey
21.07.2016
18:14:16
Sergey
21.07.2016
18:14:24
Andrey
21.07.2016
18:15:01
Самое тупое - почему ты думаешь, что компилятор не оптимизирует за тебя использование переменных?

finkel
21.07.2016
18:15:03
Sergey
21.07.2016
18:15:43
Потому что ты пишешь код для людей?
Ну чат не про php и не про си, а питонисту достаточно очевидно.

Denis
21.07.2016
18:15:56
Самое тупое - почему ты думаешь, что компилятор не оптимизирует за тебя использование переменных?
В питоне он как раз ничего не оптимизирует. Хотя для двух переменных это неважно

потому что в хаскеле, так не получится)
Так не получится нигде, кроме питона, если вспомнить, из-за чего начался спор

Sergey
21.07.2016
18:18:11
неочевидный аргумент в чате про python

Denis
21.07.2016
18:19:09
Вопрос был не конкретно про питон, а про алгоритм вычисления факториала

Тем более аргумент про читаемость кода достаточно очевидный

Google
Sergey
21.07.2016
18:21:34
Человеку надо в любом случае помнить, что range не включает правую границу. А новичку это может быть не очевидно.

Про читаемость не соглашусь, я вообще не понял сначала откуда там x взялся

Denis
21.07.2016
18:22:23
x это параметр функции, он был изначально

Sergey
21.07.2016
18:22:52
Угу, только сама функция куда-то потерялась

Denis
21.07.2016
18:23:12
Ничего подобного

чуваки, объясните плз как это работает: def factorial(x): if x == 0: return 1 else: return factorial (x-1)*x

Я просто привел код самой функции, потому что переписывать название не было смысла

Sergey
21.07.2016
18:25:51
В коде для новичка кусок кода не имеет смысла... окай

Admin
ERROR: S client not available

Denis
21.07.2016
18:26:19
В коде новичка параметр называется x, а не s

Sergey
21.07.2016
18:32:30
Да, только при беглом взгляде не очевидно какой параметр входной, а какой выходной, потому что код висит в воздухе. Если его не оформлять, то логичнее предположить, что входные данные в первой строке, т.е. `s`, а никак не `x`

А в таком виде код вообще не рабочий, собственно об этом я и написал, с чего весь спор (абсолютно бесполезный, надо сказать) и начался.

Andrey
21.07.2016
18:43:24
Человеку надо в любом случае помнить, что range не включает правую границу. А новичку это может быть не очевидно.
Нfдо привыкнуть, что в любом языке программирования принято перебирать полуинтервалы.

Sergey
21.07.2016
18:52:19
Нfдо привыкнуть, что в любом языке программирования принято перебирать полуинтервалы.
Не в любом. Могут быть как оба вариант с различным синтаксисом, так и какой-то один

Andrey
21.07.2016
18:52:57
Не в любом. Могут быть как оба вариант с различным синтаксисом, так и какой-то один
И в каком же языке не принято использовать полуинтервалы?

Sergey
21.07.2016
18:59:00
perl включает правую границу, ruby включает С `..` и не включает С `...`

Andrey
21.07.2016
19:03:15
Ок, буду считать, что вы вопрос не поняли.

Google
Sergey
21.07.2016
19:06:53
Видимо вы сами его не поняли)

Denis
21.07.2016
19:07:33
Мне кажется, изначально дискуссия была совсем не об этом, ну да ладно

Andrey
21.07.2016
19:09:15
Видимо вы сами его не поняли)
Ну а как же. Я спросил о том как принято в ЯП делать, а не как возможно. А это разные вещи.

Sergey
21.07.2016
19:09:53
Вопрос был в каком языке не принято использовать полуинтервалы

.
21.07.2016
19:24:44
Гайз, пытаюсь тут в джангу вкатиться, при попытке создать бд, получаю такой ответ Unknown command: 'syncdb' Type 'manage.py help' for usage. Создал app, внутри написал модель, потом переиминовал имя в сеттинге и добвил app к подключенным. Открыл cmd, зашел в проект и пытаюсь запустить командой python manage.py syncdb

.
21.07.2016
19:27:40
спасибо

Max
21.07.2016
20:34:07
Парни, я недавно начал и прохожу learnoythonhardway. Но через часа три голова тяжелеет и идёт хуже. На что можно сменять деятельность чтобы немного свежее было и полезное?

Дайв инту питон? Алгоритмы? Ещё что-то?

dmks
21.07.2016
20:36:45
мб сделать перерыв и отдохнуть?

Max
21.07.2016
20:37:17
Ну это и так. Я каждые 45 минут 15 отдыхаю

Просто думаю как ещё разнообразить, чтобы не надоело быстро

Aleshka
21.07.2016
20:58:19
Народ, давно не юзал один свой скрипт, но пакеты обновлял. Зашел сегодня, а matplotlib графики не строит, выводит <matplotlib.figure.Figure at 0x1bc99103978>

plt.show() юзаю, раньше строил

че за тема

вот сам кусок скрипта, где строится график

и в конце функции стоит plt.show()

dmks
21.07.2016
21:00:52
протер глаза, показалось что матлаб

Aleshka
21.07.2016
21:02:00
находил в гугле, что типа проблема в backend, и надо поменять Qt4Agg на что-нибудь типа GTKAgg или что-то такое

но не помогло

ну и если учесть, что раньше все строил, то вообще хз

Страница 165 из 1885

Эта группа больше не существует Эта группа больше не существует