@ru_python

Страница 2514 из 9768
Маришка
16.03.2017
16:26:08
велп

точно

Aragaer
16.03.2017
16:26:12
надо res = rand2()+rand2()-1

но впрочем нет

Google
Маришка
16.03.2017
16:26:20
Max
16.03.2017
16:26:22
Я один не могу перейти и поглядеть на чей-то профиль?

Igor
16.03.2017
16:26:26
ой, да

Tony
16.03.2017
16:26:26
I
16.03.2017
16:26:27
хз, у меня в стране LI вообще не пашет(

Aragaer
16.03.2017
16:26:45
(rand2()-1) + (rand2()-1)*2

вот

Igor
16.03.2017
16:26:55
Я один не могу перейти и поглядеть на чей-то профиль?
пишут же, что тебе надо сделать, чтобы смотреть чужие профили

Aragaer
16.03.2017
16:27:00
блин, не люблю когда отсчет идет с единицы 8)

Max
16.03.2017
16:27:05
хз, у меня в стране LI вообще не пашет(
Сочувствую, это все пиндосы

Маришка
16.03.2017
16:27:11
Aragaer
16.03.2017
16:27:11
и еще +1, да

Spacehug
16.03.2017
16:27:38
А, скажем, брать rand2() кратное 3-м число раз, потом % 3 + 1?

Google
Маришка
16.03.2017
16:28:01
Сочувствую, это все пиндосы
Что, при чём тут это и почему их именно так нужно называть

I
16.03.2017
16:28:12
(rand2()-1) + (rand2()-1)*2
не верно, тервер с тобой не согласен)

Aragaer
16.03.2017
16:28:39
кык это?

Spacehug
16.03.2017
16:28:51
Неа
Аргумент.. :)

Aragaer
16.03.2017
16:28:56
это случайный набор битов - равновероятно даст 00, 01, 10 и 11

I
16.03.2017
16:30:45
rand2() -1 выдает равновероятно 0 и 1 но если ты их складываешь - вероятность на выходе получить 1 больше

00 01 10 11

Spacehug
16.03.2017
16:30:56
Неа
Чем не катит (rand2() + rand2() + rand2()) % 3 + 1?

melancholiac
16.03.2017
16:31:18
зачем генерить рандом так сложно?

melancholiac
16.03.2017
16:32:16
это же сложно

Aragaer
16.03.2017
16:32:26
3д2 дает исходы 3, 4, 5 и 6, причем вероятности у них 1/8, 3/8, 3/8, 1/8

Spacehug
16.03.2017
16:33:15
М, мгм

Aragaer
16.03.2017
16:33:50
если добавить %3, то исходы 3 и 6 схлопываются и получается 2/8, 3/8, 3/8

I
16.03.2017
16:35:42
там умножение на 2 есть
и что меняет это умножение на 2 в вероятностях?

Aragaer
16.03.2017
16:36:08
то, что первый ранд дает 0 или 1, а второй дает 0 или 2

Google
Aragaer
16.03.2017
16:36:25
и получаются 4 равновероятных исхода - 0, 1, 2, 3

I
16.03.2017
16:36:29
а, там так скобки расставлены

Aragaer
16.03.2017
16:36:44
угу

I
16.03.2017
16:39:08
ну так тогда rand2 -1 + (rand2-1)*2 - 0 50% случаев 1 25% 2 25%

Aragaer
16.03.2017
16:39:35
мм

нет

I
16.03.2017
16:39:47
пруфы

Aragaer
16.03.2017
16:39:56
0 25%, 1 25%, 2 25%, 3 25%

Igor
16.03.2017
16:40:19
гггг

Aragaer
16.03.2017
16:40:32
ну если первый ранд выпал 2, второй выпал 2, то в результате будет 2-1+(2-1)*2 = 3

I
16.03.2017
16:40:46
rand2() -1 выдает 0 или 1 (rand2() -1)*2 выдает 0 или 2

Aragaer
16.03.2017
16:41:01
ну и в сумме все варианты от 0 до 3

Subbotin
16.03.2017
16:41:41
(R2 +r2*2 +r2*4)%3 +1

Aragaer
16.03.2017
16:41:52
нет

*4 тогда уж

Subbotin
16.03.2017
16:42:17
Нет

Aragaer
16.03.2017
16:42:18
вместо *3

Subbotin
16.03.2017
16:42:25
Ну добавь +1

Поправил

I
16.03.2017
16:42:51
Google
Spacehug
16.03.2017
16:43:00
(R2 +r2*2 +r2*4)%3 +1
Тот же вариант что у меня, только rand2() в 2 раза больше )

Aragaer
16.03.2017
16:43:13
8 исходов - 6, 7, 8, 9, 9, 10, 11, 12

Subbotin
16.03.2017
16:43:16
Опс

I
16.03.2017
16:43:27
хотя сейчас я переприкину

Subbotin
16.03.2017
16:43:32
Опс

Aragaer
16.03.2017
16:43:37
если умножать на 4, то исходы 7, 8, 9, 10, 11, 12, 13, 14

Subbotin
16.03.2017
16:43:40
Я опять поправил

Прогоните кто-нить на компе мое

Admin
ERROR: S client not available

Spacehug
16.03.2017
16:43:57
Есть дебильное решение типа кинуть rand2() трижды, выбрать номер попытки где 2. Если 2 несколько раз - перебрасывать

Aragaer
16.03.2017
16:43:59
на это накидываешь %3 и получаешь разные варианты

Subbotin
16.03.2017
16:44:01
Я с телеыона

Aragaer
16.03.2017
16:44:46
короче, надо найти такую степень двойки, которая достаточно велика, а при делении на 3 дает остаток 1

... любая четная на самом деле

дальше делаем sum((rand2()-1)*2**i for i in range(n)) и получаем все возможные варианты до 0 до (2^n)-1

если последнее число выпало, то перекидываем, иначе берем по модулю 3 и добавляем единицу

получаются равные вероятности

вариант с n=2 это "кинуть два раза, второй раз умножать на 2, если в итоге получилось 2 и 2, то перекинуть"

но там слишком высокая вероятность перекидывания

прям такое ощущение, что вы кубики ни разу в жизни не кидали

Google
Aragaer
16.03.2017
16:49:32
а как же эмулировать д20 при наличии только д6 разного цвета?

Qman
16.03.2017
16:53:35
Aragaer
16.03.2017
16:53:38
как бы мы ни пытались извратиться, каждый бросок удваивает число возможных исходов. Никакая степень двойки не будет кратной числу 3. Значит остается только отбрасывать какой-то хвост = перебрасывать все заново в некоторых случаях.

Spacehug
16.03.2017
16:54:03
А если выпадает несколько двоек?
Перебрасывать повторяющиеся

Я и говорю - у меня дебильное решение, потом что перебросов будет оче много

Aragaer
16.03.2017
16:54:58
я предложил решение с минимумом перебросов. Можно сделать вероятность переброса сколь угодно малой, но это потребует большого числа бросков

Spacehug
16.03.2017
16:55:13
Вот я и говорю, дебильное )

Vitaly
16.03.2017
17:30:34
Всем привет! Давно занимаюсь исследованиями на питоне, но периодически сталкиваюсь с написанием продакшн кода. Часто чувствую косяки в построении архитектуры. Посоветуйте книги/учебники хорошие

Aragaer
16.03.2017
17:31:17
книга рефакторинг - там описываются многие разные виды "вонючего кода" и примеры того, как от этой вони избавиться

потому что вариант "написать, а потом почистить плохое" работает эффективнее, чем "спроектировать мегаархитектуру, а потом имплементировать"

Subbotin
16.03.2017
17:37:29
А мне нравится

Веселее чем фичи пилить

Mikhail
16.03.2017
17:39:20
def rand3(): result = '{}{}'.format(rand2(), rand2()) while result == '11': result = '{}{}'.format(rand2(), rand2()) return result

Aragaer
16.03.2017
17:44:58
это аналогично моей арифметике с вычитанием единицы и умножением на 2

перебрасывание с вероятностью 25%

Ivan
16.03.2017
17:45:59
Tornado ` def add_task(self, account): response = yield http_client.fetch(request, callback=(yield gen.Callback(self.new_data['id']))) self.finish(response) @gen.coroutine def post(self, account): .............. self.add_task(account) answer = yield gen.Wait(self.new_data['id']) ` выдает ошибку UnknownKeyError: key 8541210947015471499 is not pending не могу понять почему? получается, что метод add_task не выполняется. Что делаю не так?

Artyom
16.03.2017
17:47:07


Ой Миссклик

Eldar
16.03.2017
17:48:46
я канешн не эксперт, но с лицом что-то не то

Страница 2514 из 9768