Skip to content

Instantly share code, notes, and snippets.

@PiotrZakrzewski
Last active November 19, 2017 17:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save PiotrZakrzewski/131c4f3bb47d6fc3369ad9f302c24eec to your computer and use it in GitHub Desktop.
Save PiotrZakrzewski/131c4f3bb47d6fc3369ad9f302c24eec to your computer and use it in GitHub Desktop.
Random drop
import numpy as np
import random
ILOSC_KREGOW = 9
probabilities = np.array([np.exp(-x) for x in range(ILOSC_KREGOW) ])
normalized_probs = probabilities / np.sum(probabilities) # teraz ich suma to 1.0
print("Prawdopodobienswa po normalizacji", normalized_probs)
normalized_probs = list(normalized_probs)
def get_random_kreg():
r = random.random()
print("Wylosowana liczba:", r)
previous = 0
for kreg, prob in enumerate(normalized_probs):
prob += previous
previous = prob
if r < prob:
return kreg
return ILOSC_KREGOW # ponizej najmniejszego prawdopodobienstwa
print("Wybrany krag:", get_random_kreg())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment