Opracowanie:
Liczby losowe
Liczby losowe
Liczby losowe to liczba, którą otrzymamy w sposób losowy. Do tego celu służą generatory liczb losowych lub programy komputerowe.
Do wygenerowania liczb losowych potrzeba kilku parametrów:
-Ilości wylosowanych liczb
-Zakresu liczb: minimalna oraz maksymalna wartość
Istnieją dwa sposoby generowania liczb.
Sposób 1
Generowane liczby mogą być powtarzane, czyli tak zwane losowanie ze zwracaniem.
Przykładowy zbiór wylosowanych liczb z zakresu od 1 do 20 to 1, 1, 1, 7, 9, 20, 20.
Sposób 2
Generowane liczby nie mogą być powtarzane, czyli tak zwane losowanie bez zwracania.
Przykładowy zbiór wylosowanych liczb z zakresu od 1 do 20 to 1, 4, 6, 7, 10, 15, 20.
Generowanie liczb losowych, które faktycznie są w 100% losowe jest trudne, dlatego częściej mówimy o liczbach pseudolosowych.
Spróbujmy napisać program w Pythonie, który pozwoli nam generować liczby pseudolosowe.
import random
Najpierw należy rozpocząć programowanie od zaimportowania biblioteki random, która zawiera przydatne funkcje.
Najważniejszymi metodami z biblioteki random są:
randint(a,b), która zwraca całkowitą liczbę pseudolosową x taką, że xa oraz xb.
uniform(a,b), która zwraca zmiennoprzecinkową liczbę pseudolosową x. Jeżeli a>b to xa oraz xb. Jeżeli ab, to xa oraz xb.
shuffle(a), która przyjmuje w parametrze strukturę danych, a następnie miesza kolejność elementów.
choice(a), która przyjmuje w parametrze strukturę danych, a następnie zwraca losowo wybrany element.
Najpierw pokażę użycie funkcji randint.
import random
x = random.randint(1,10)
print(x)
Jeżeli zaimportujemy bibliotekę tym sposobem, to do każdej funkcji należy odwoływać się poprzez napisanie random.funkcja. Natomiast można uprościć sobie to zadanie.
from random import *
x = randint(1,10)
print(x)
Wynik działania powyższych programów jest taki sam.
Jako zmienną x losujemy funkcją randint całkowitą liczbę pseudolosową z zakresu od 1 do 10.
Omówienie funkcji uniform.
from random import *
x = uniform(76.5 , 200.85)
print(x)
Jako zmienną x losujemy funkcją uniform zmiennoprzecinkową liczbę pseudolosową z zakresu od 76.5 do 200.85. Należy pamiętać, że separatorem liczb zmiennoprzecinkowych jest kropka.
Powyższy kod można skopiować oraz uruchomić w dowolnym kompilatorze Pythona online. Jeżeli ktoś chce pobawić się funkcjami, może zmieniać zakresy w nawiasach.
Omówienie funkcji shuffle.
from random import *
lista = [„Ania”, „Mirek”, „Karol”, „Paulina”, „Zuzanna”]
shuffle(lista)
print(lista)
Zadeklarowałam listę, która zawiera imiona. Wywołałam funkcję shuffle, która zmienia kolejność elementów. Przy każdym uruchomieniu programu, wypisana zostaje inna kolejność imion.
Omówienie funkcji choice.
from random import *
lista = [„Ania”, „Mirek”, „Karol”, „Paulina”, „Zuzanna”]
x = choice(lista)
print(x)
Zadeklarowałam listę z imionami. Wywołałam metodę choice, która zwraca wybraną wartość z listy. Przy każdym uruchomieniu programu, wybrany element będzie inny.
Powyższy kod można skopiować oraz uruchomić w dowolnym kompilatorze Pythona online. Jeżeli ktoś chce pobawić się funkcjami, może zmieniać dowolnie listę i testować funkcje shuffle oraz choice. Należy pamiętać jedynie, że dane w liście powinny być deklarowany w taki sam sposób, w jaki deklarowane są powyżej.