Русский
Открыть в Telegram
ССообщество Python Программистов
Сообщество Python Программистов
✅ Высокое доверие
@python_scripts · группа · Технологии · в индексе с 2026-05-24 1 июня 2023
4 169участников−3 за неделю
43пишущих за 30 дней
555сообщений за 30 дней
904 487сообщений в индексе

Сообщения за 1 июня 2023

2023-06-01×
1 июня 2023
A
так он может для теста запускает ее?
A
этап “я скидываю скрины и мы тыкаем наугад” закончился, теперь нужен код. как запускается программа, и что в тесте написано.
D
проверять лучше как value is not None
    1. D
      во первых, рекомендовано по пеп8, во вторых class A: def __eq__(self, other): return True print(A() == None) # True
      1. P
        во первых тут тесты. во вторых ты говно прислал я хз что ты этим хотел сказать
        1. D
          - ты сам спросил, чем проверка value is not None лучше чем value != None
          1. K
            Daler Sattarov, Вы уменьшили карму Patrick до -3.67 (-23.83) Внимание Patrick! У Вас отрицательная карма. Как только она достигнет -100 Вы не сможете писать в чат на протяжении 7 дн.
          2. P
            клоун. вопрос был в контексте его тестов. а ты сморозил левую хрень пытаясь быть умным
            1. A
              ты не прав, потому что есть соображения (в т.ч. зафиксированные в документации к языку), по которым действительно стоит делать is None. можно спорить о последствиях, но с фактом нельзя. еще и оскорбил человека. не стоит так.
Вся ветка · 8 ответов →
K
скромный тростник, Вы увеличили карму Patrick до 20.16 (+7.40)
P
потому что спрашивать насколько верный тест это очень странно
P
тогда зачем все методы тестов асерата?
D
я увидел на скрине сообщение от юниттеста None != и подумал что это проверка в коде
A
допустим, у тебя тест на None, и в нем написано if not x … прилетает вместо None пустой список, и приходится отправляться в берлогу сосать леденцы.
P
давайте я ЕЩЕ РАЗ разжую для тех кто плохо понял человек А сказал человеку Б что лучше в тестах проверять как is not None я спросил человека А чем is not None лучше assertIsNot на что мне привели левые аргументы и минуснули карму и админ тоже что то пытается доказать такое же
  1. A
    давай ты перестанешь выёбываться, потому что 1. ты не писал ничего про assertIsNot 2. слова “лучше проверять как is None” имеют смысл даже с учетом того, что Далер не рассмотрел скрины 3. клоуном человека назвал ты, и даже не получил за это ничего, хотя у нас так не принято.
    1. P
      1. возможно было неясно. но лучше чем что? у человека ассерт на функцию которая судя по названию возвращает bool там что ни == ни is not None сюда не подходят. у человека ассереквал значит единственный вариант за который я мог спросить это assertIsNot. но да ладно 2. без скринов да. но кто мог знать что человек не различает код и вывод в консоль. а если рассмотрел то это в нашем контексте тестов вредный совет что думаю не приветствуется( на который я хотел указать а мне доказывают обратное) 3. а как назвать человека который играет кармой с плохими советами? или тут кармовойны лучше?
      1. A
        1-2. ну представляешь, он ошибся просто, да. в контексте конкретного скрина его слова не имели смысла, а вообще - имеют. он заметил ошибку и поправился. 3. а никак не называть. не оскорблять просто и всё. ну бывает, ошибся человек.
Вся ветка · 3 ответа →
А
Я с unittest не работал, предпочитаю pytest, но насколько понимаю у него отчёт об ошибке при использовании assertIsNone будет подробнее
P
потому их и предпочтительнее использовать
P
тебе даже подскажут что слева что справа и выражение напишут как на скрине
M
Всем привет! Решал интерeсную задачу, но не решил Условие: For this exercise, we’ll try doing an experiment. If you flip a coin 100 times and write down an “H” for each heads and “T” for each tails, you’ll create a list that looks like “T T T T H H H H T T.” If you ask a human to make up 100 random coin flips, you’ll probably end up with alternating head-tail results like “H T H T H H T H T T,” which looks random (to humans), but isn’t mathematically random. A human will almost never write down a streak of six heads or six tails in a row, even though it is highly likely to happen in truly random coin flips. Humans are predictably bad at being random. Write a program to find out how often a streak of six heads or a streak of six tails comes up in a randomly generated list of heads and tails. Your program breaks up the experiment into two parts: the first part generates a list of randomly selected 'heads' and 'tails' values, and the second part checks if there is a streak in it. Put all of this code in a loop that repeats the experiment 10,000 times so we can find out what percentage of the coin flips contains a streak of six heads or tails in a row. As a hint, the function call random.randint(0, 1) will return a 0 value 50% of the time and a 1 value the other 50% of the time. Мое решение: import random numberOfStreaks = 0 ist = [] six_h = 'H' * 6 six_t = 'T' * 6 for experimentNumber in range(10000): # Code that creates a list of 100 'heads' or 'tails' values. x = random.randint(0, 1) if x == 0: ist.append('H') else: ist.append('T') # Code that checks if there is a streak of 6 heads or tails in a row. if six_h in ist or six_t in ist: numberOfStreaks += 1 print(numberOfStreaks) Подскажите, где может быть ошибка ? Я думаю что в if six_h in ist or six_t in ist, но не знаю в чем
  1. A
    а почему ошибка? выглядит вроде норм
Вся ветка · 3 ответа →
M
Не может же быть так что весь список из одних только последовательностей
A
а, потому что ты генеришь список из 10000 элементов
A
а надо 100 элементов, проверить в них, и так сделать 10000 раз
A
for _experiment_number in range(10000): ist = [] for _ in range(100): x = random… … if six_h in … …
A
короче, for _experiment_number in range(10000): ist = random.choices([‘H’, ’T’], k=100]) if six_h in … …
  1. M
    import random numberOfStreaks = 0 six_h = ['H'] * 6 six_t = ['T'] * 6 for experimentNumber in range(10000): # Code that creates a list of 100 'heads' or 'tails' values. listik = [] for coin in range(100): side = random.randint(0, 1) if side == 0: listik.append('H') else: listik.append('T') if six_h in listik or six_t in listik: numberOfStreaks += 1 print(numberOfStreaks)
Вся ветка · 1 ответ →
  1. A
    я не понимаю, что такое “не работает”. у меня работает. не проверял, но теоретически работает)
Вся ветка · 1 ответ →
  1. M
    А как мне тогда проверять результат ?
    1. T
      решить анаогичную задачу где есть ответы
Вся ветка · 2 ответа →
A
у тебя раньше было ‘H’ * 6, а сейчас [‘H’] >>> a = ['H', 'H'] >>> x = ['X', 2, 'H', 'H', 3] >>> a in x False вот оно и не работает
T
чатгпт тебе без проблем скажет что 2+2=80% и ещё будет доказывать по шагам что это так
T
посчитать другим способом решение, сравнить
  1. M
    Не нашел, все решения более трудные
Вся ветка · 1 ответ →
A
тут вообще нет “правильного” результата, будет от выборки к выборке скакать немного (или много)
  1. T
    ну приблизительно должно обычно совпадать
Вся ветка · 1 ответ →
A
“правильный” ответ это вероятность посчитать
A
но условие просто нафигачить цикл, видимо для тренировки
A
тут принципиально варианта только два, либо ты считаешь вероятность, либо ты делаешь Н выборок и смотришь результат. у второго варианта могут быть разные имплементации, но разницы кроме параметров (10к и 100) нет.
T
я бы предложил начать с длины комбинации 6, так как тут легко посчитать - будет 33%. Потом повторил для длины 7. Тут тоже можно аналоитически посчитать.
M
Фотография
нажмите — покажем
Вся ветка · 2 ответа →
A
>>> sum(1 for _ in range(10000) if any(x in ''.join(random.choices(['H', 'T'], k=100)) for x in ['H'*6, 'T'*6])) / 10000 0.7943 >>> sum(1 for _ in range(10000) if any(x in ''.join(random.choices(['H', 'T'], k=100)) for x in ['H'*6, 'T'*6])) / 10000 0.7918 >>> sum(1 for _ in range(10000) if any(x in ''.join(random.choices(['H', 'T'], k=100)) for x in ['H'*6, 'T'*6])) / 10000 0.7913 >>> sum(1 for _ in range(10000) if any(x in ''.join(random.choices(['H', 'T'], k=100)) for x in ['H'*6, 'T'*6])) / 10000 0.7977 >>> sum(1 for _ in range(10000) if any(x in ''.join(random.choices(['H', 'T'], k=100)) for x in ['H'*6, 'T'*6])) / 10000 0.7995
A
кстати примерно 80% получается, хахахах
A
я тоже, но посмотри решение, вроде все верно
T
мне казалось вопрос был - как часто будет подряд 6 H или 6 T
A
да, в строке из 100 символов, и выборка - 10к кейсов
A
т.е. 10 тысяч раз берем по 100 символов и смотрим, что там есть подряд
A
по 100 символов строка, и так взять 10к раз
M
Фотография
нажмите — покажем
  1. A
    if side == 0: … else: … listik = ''.join(listik) if six_h in listik or …
Вся ветка · 1 ответ →
A
‘HHHH’ in [‘H’, ‘H’] не работает, надо делать из правого списка строку
A
бля не пиши в личку пожалуйста, ну ночь на дворе
A
>>> 'HH' in ['H', 'H'] False >>> 'HH' in ''.join(['H', 'H']) True >>> ''.join(['H', 'H']) 'HH'
M
Ну так получается, что нам то и списки тут не нужны
M
import random num_experiments = 10000 streak_count = 0 for _ in range(num_experiments): flips = "" for _ in range(100): flip = random.randint(0, 1) if flip == 0: flips += 'H' else: flips += 'T' if "HHHHHH" in flips or "TTTTTT" in flips: streak_count += 1 print(streak_count / 100)
M
import random num_experiments = 10000 streak_count = 0 for _ in range(num_experiments): flips = [] for _ in range(100): flip = random.randint(0, 1) if flip == 0: flips.append('H') else: flips.append('T') has_streak = False for i in range(len(flips) - 5): if flips[i:i+6] == ['H', 'H', 'H', 'H', 'H', 'H'] or flips[i:i+6] == ['T', 'T', 'T', 'T', 'T', 'T']: has_streak = True break if has_streak: streak_count += 1 print(streak_count / 100)
A
меня просто дрожь берет когда string += ‘H’ делается 100 раз 10000 раз, но это не важно, наверное.
Архив по месяцам
октябрь 2026сентябрь 2026август 2026июль 2026июнь 2026май 2026апрель 2026март 2026февраль 2026январь 2026декабрь 2025ноябрь 2025октябрь 2025сентябрь 2025август 2025июль 2025июнь 2025май 2025апрель 2025март 2025февраль 2025январь 2025декабрь 2024ноябрь 2024октябрь 2024сентябрь 2024август 2024июль 2024июнь 2024май 2024апрель 2024март 2024февраль 2024январь 2024декабрь 2023ноябрь 2023октябрь 2023сентябрь 2023август 2023июль 2023июнь 2023май 2023апрель 2023март 2023февраль 2023январь 2023декабрь 2022ноябрь 2022октябрь 2022сентябрь 2022август 2022июль 2022июнь 2022май 2022апрель 2022март 2022февраль 2022январь 2022декабрь 2021ноябрь 2021октябрь 2021сентябрь 2021август 2021июль 2021июнь 2021май 2021апрель 2021март 2021февраль 2021январь 2021декабрь 2020ноябрь 2020октябрь 2020сентябрь 2020август 2020июль 2020июнь 2020май 2020апрель 2020март 2020февраль 2020январь 2020декабрь 2019ноябрь 2019октябрь 2019сентябрь 2019август 2019июль 2019июнь 2019май 2019апрель 2019март 2019февраль 2019январь 2019декабрь 2018ноябрь 2018октябрь 2018сентябрь 2018август 2018июль 2018июнь 2018май 2018апрель 2018март 2018

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем