import random

# calkowita liczba losowa z przedzialu [a, b] (rowne prawdopodobienstwo)
print(random.randint(0,10))
lst = [random.randint(0,10) for _ in range(10)]
print(lst)

# rzeczywista liczba losowa z przedzialu [0.0, 1.0) (prawdopodobienstwo jednostajne)
print(random.random())
lst = [random.random() for _ in range(10)]
print(lst)

# calkowita liczba losowa z range(a, b, step) (rowne prawdopodobienstwo)
print(random.randrange(0,101,10))
lst = [random.randrange(0,101,10) for _ in range(10)]
print(lst)

# rzeczywista liczba losowa z przedzialu [a, b] (prawdopodobienstwo jednostajne)
print(random.uniform(0, 2))
lst = [random.uniform(0, 2) for _ in range(10)]
print(lst)

# losowy element z populacji
print(random.choice([2,3,5,7,11,13]))
print(random.choice("ABCDEF"))

# ciag elementow
print(random.choices([2,3,5,7,11,13], k=4))
print(random.choices("ABCDEF", k=4, weights=[1,2,3,4,5,6]))

# losowe probki (o zadanym rozmiarze) z populacji
print(random.sample([1,2,3,4,5,6], 3))
print(random.sample([1,2,3,4,5,6], 6))
print(random.sample(range(100), 5))

# ustawianie ziarna
random.seed(100)
lst = random.sample(range(100), 5)
random.seed(100)
lst2 = random.sample(range(100), 5)
print(lst)
print(lst2)

# permutacje - tasowanie listy
lst = [1, 2, 3, 4, 5]
random.shuffle(lst)
print(lst)
