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()
.
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:

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