Не одобряю изучение языка как подготовку к собеседованию. И уж тем более не одобряю такие вопросы на собеседованиях. Цель собеседования — проверить мышление кандидата и по возможности то как он работает в команде. Но сама подборка неплохая, многие вещи вспомнить вполне не лишне.
многие до сих пор уверены, что «в словарях порядок случайный»
Хе-хе.
До Python 3.6 — порядок ключей считался произвольным: итерация по dict не обязана была соответствовать порядку вставки. Это прямо зафиксировано в документации (и нигде не было обещаний про порядок).
Python 3.6 (CPython) — появился новый, компактный алгоритм хранения словарей («compact dict»), благодаря которому порядок вставки стал сохраняться как побочный эффект реализации.
Python 3.7 (все реализации Python) — сохранение порядка вставки стало требованием языка. То есть с 3.7 вы можете полагаться на порядок вставки для обычных dict. Ссылка.
Ну объясните пожалуйста. Вы же говорите, что вы намеренно не стали выдавать всё условие задачи. Намеренно для чего? В чем было намерение? Или где-то есть намек на то, какой алгоритм считается верным? Пока что кажется, что вы просто упустили этот момент и нашли решение не той задачи, которую вы сформулировали.
сказано, что он справедливый
Во-первых не сказано, сказано что «честный и корректный». Но не даны критерии «честности», «корректности», «справедливости». Во-вторых, по моему личному мнению второй алгоритм который я показал намного более «справедливый», т.к. позволяет большему количеству людей побывать старостами. А для него как раз вероятность и ответ задачи будет другой.
А с чего вы взяли, что при таком подходе у всех допустимых распределений будет одинаковая вероятность появления? Вот вам сходу два алгоритма, которые «Случайно и одномоментно» выдают каждому участнику группы числа от 0 до 2:
from random import randint
from collections import Counter
def dist_rand_prob(group, _sum):
while True:
probs = [randint(0, 2) for _ in range(group)]
if sum(probs) == _sum:
yield probs
def dist_rand_sample(group, _sum):
while True:
probs = [0] * group
while sum(probs) < _sum:
pos = randint(0, group - 1)
if probs[pos] < 2:
probs[pos] += 1
yield probs
Если посчитать для обоих алгоритмов распределение количества учеников, которых «пронесет», оно получится кардинально разным:
it = dist_rand_prob(20, 10)
Counter(next(it).count(0) for _ in range(5000))
Counter({10: 114, 11: 875, 12: 2051, 13: 1585, 14: 367, 15: 8})
it = dist_rand_sample(20, 10)
Counter(next(it).count(0) for _ in range(5000))
Counter({10: 317, 11: 1539, 12: 2075, 13: 967, 14: 99, 15: 3})
А уж пронесет ли конкретного Васю, явно зависит от этого распределения.
А что за проблема?
Простите, вы нормальные?
Статистика за 2023 год, где на втором месте ASP.NET. Верим?
А можно ссылку на issue чтобы следить когда можно будет обновить?
Edit: https://github.com/pqrs-org/Karabiner-Elements/issues/4316
Не одобряю изучение языка как подготовку к собеседованию. И уж тем более не одобряю такие вопросы на собеседованиях. Цель собеседования — проверить мышление кандидата и по возможности то как он работает в команде. Но сама подборка неплохая, многие вещи вспомнить вполне не лишне.
Хе-хе.
До Python 3.6 — порядок ключей считался произвольным: итерация по dict не обязана была соответствовать порядку вставки. Это прямо зафиксировано в документации (и нигде не было обещаний про порядок).
Python 3.6 (CPython) — появился новый, компактный алгоритм хранения словарей («compact dict»), благодаря которому порядок вставки стал сохраняться как побочный эффект реализации.
Python 3.7 (все реализации Python) — сохранение порядка вставки стало требованием языка. То есть с 3.7 вы можете полагаться на порядок вставки для обычных dict. Ссылка.
Прикол в том, что они то же самое сломали и в обновлении 15.7 на интелах, не только в Tahoe.
Ну объясните пожалуйста. Вы же говорите, что вы намеренно не стали выдавать всё условие задачи. Намеренно для чего? В чем было намерение? Или где-то есть намек на то, какой алгоритм считается верным? Пока что кажется, что вы просто упустили этот момент и нашли решение не той задачи, которую вы сформулировали.
Во-первых не сказано, сказано что «честный и корректный». Но не даны критерии «честности», «корректности», «справедливости». Во-вторых, по моему личному мнению второй алгоритм который я показал намного более «справедливый», т.к. позволяет большему количеству людей побывать старостами. А для него как раз вероятность и ответ задачи будет другой.
Почему поэтому? Чтобы можно было в случае верного решения для другого алгоритма сказать, что решение неверное?
Какой надо кому? Я же уточнил какой алгоритм, вы сказали требования. Я вам привел два разных, удовлетворяющих требованию. Так откуда знать какой надо?
А с чего вы взяли, что при таком подходе у всех допустимых распределений будет одинаковая вероятность появления? Вот вам сходу два алгоритма, которые «Случайно и одномоментно» выдают каждому участнику группы числа от 0 до 2:
Если посчитать для обоих алгоритмов распределение количества учеников, которых «пронесет», оно получится кардинально разным:
А уж пронесет ли конкретного Васю, явно зависит от этого распределения.
Те кто застал эти версии сейчас тихонько посмеялись.
Так по какому принципу код выдает эти числа?
Как и вероятность встретить динозавра, следуя вашей логике.
Но вас видимо не проведешь.
Сказано:
Тоже не понимаю
Попробуйте pip3 или python -m pip или python3 -m pip. Что-то из этого должно сработать
Эээ? Установка через homebrew:
brew install. Установка через pip:pip install¯ \ _ (ツ) _ / ¯
При этом
brewставится отдельно, pip уже стоит вместе с системой.Не увидел в stats частоты ядер и потребление мощности в ваттах
Один раз и читаю показания которые выводятся в stdout