Losowość w Pythonie

Od dawna zdarzenia losowe stanowiły dla ludzi zagadkę. Kiedyś doszukiwano się w nich działania bogów, używano ich do wróżenia, hazardu i rozstrzygania sporów.

W programowaniu grafiki losowość wykorzystujemy do uzyskiwania ciekawych, częściowo nieprzewidywalnych rysunków. Korzystanie z losowości w Pythonie wiąże się z koniecznością zaimportowania modułu random:

from random import *

Po zaimportowaniu modułu możemy korzystać z wielu funkcji, m.in. losujacych wartość z podanego zakresu, zmieniających w losowy sposób kolejność elementów na liście, wybierających losową wartość spośród podanych itp.

Losowanie liczb

Python udostępnia kilka funkcji pozwalających losować wartości liczbowe. Jeśli chcemy wylosować liczbę rzeczywistą możemy skorzystać z bezparametrowej funkcji random(). Uzyskamy wartość z przedziału [0,1).

Ćwiczenie 1

Poniższy kod spowoduje wylosowanie i wypisanie czterech liczb rzeczywistych. Spróbuj wykonać go wielokrotnie. Czy widzisz jakieś różnice? Jaką najmniejszą wartość możemy uzyskać? A największą?

Ćwiczenie 2

Do losowania wartości liczbowych z innych zakresów wykorzystujemy proste działania arytmetyczne. Poniższy kod spowoduje wylosowanie liczb rzeczywistych z przedziału od 2 do 7. Spróbuj go zmodyfikować tak, by były losowane wartości z przedziału [-10,10).

Do wylosowania wartości całkowitych możemy wykorzystać funkcję int() konwertującą wartości rzeczywiste na całkowite, wygodniej jednak jest skorzystać z gotowej funkcji randrange(). Może ona przyjmować jeden, dwa lub trzy parametry, podobnie jak funkcja range().

Funkcja randrange
Argumenty Przykład Możliwy wynik
zakres randrange(5) losowa wartość spośród 0 1 2 3 4
start, zakres randrange(2, 6) losowa wartość spośród 2 3 4 5
start, zakres, krok randrange(2, 10, 2) losowa wartość spośród 2 4 6 8

Ćwiczenie 3

Poniższy kod spowoduje wylosowanie trzech liczb całkowitych z zakresu od 0 do 9. Zmodyfikuj podany kod tak, by losowane były wartości od -5 do 7.

Ćwiczenie 4

Chcemy rysować kwiatki złożone z losowej liczby płatków, podobne do wyświetlonego poniżej:

Kwiatek o 6 płatkach

Uzupełnij funkcję kwiatek tak, by rysowane kwiatki miały od 3 do 10 płatków.

| Back to top