random.choice z wagami?

HenryWritesAutor

Chcę losować zdarzenia: awaria 5%, ostrzeżenie 20%, OK 75%.

5

Komentarze 4

Zaloguj się, żeby dołączyć do dyskusji.

Zaloguj się Załóż konto
  1. FreyaLodpowiedzi: 2

    random.choices przyjmuje wagi:

    import random
    wynik = random.choices(["awaria", "ostrzeżenie", "OK"], weights=[5, 20, 75])[0]

    Zwraca listę (domyślnie z jednym elementem), stąd [0]. Możesz losować więcej naraz: k=100.

    0
    1. HenryWritesAutorodpowiedzi: 1

      Idealnie do mojej symulacji, dzięki!

      0
      1. OliviaPy

        Fajnie sprawdzić z collections.Counter na 10 000 losowań, czy proporcje się zgadzają.

        4
    2. CharlieH

      Wagi nie muszą sumować się do 100, liczą się proporcje.

      6