Co je generátor náhodných čísel v Pythonu a jak jej používat?



Zjistěte, co jsou generátory náhodných čísel v pythonu, spolu s různými vestavěnými funkcemi pro generování celých čísel a čísel s plovoucí desetinnou čárkou.

Při vytváření softwaru naše programy obecně vyžadují výrobu různých položek. To je nejběžnější v aplikacích, jako je hraní her, generování OTP, hazardní hry atd. dělá úkol generovat tyto hodnoty bez námahy pomocí své vestavěné funkce . V tomto článku o generátorech náhodných čísel v Pythonu se naučíte generovat čísla pomocí různých integrovaných funkcí.





loutka vs kuchař vs docker

Než budeme pokračovat, pojďme se podívat na témata diskutovaná v tomto kurzu:

Tak pojďme začít :)



Co je generátor náhodných čísel v Pythonu?

Generátory jsou funkce, které vytvářejí položky, kdykoli jsou vyvolány. Generátor náhodných čísel v Pythonu jsou vestavěné funkce, které vám pomohou generovat čísla podle potřeby. Tyto funkce jsou vloženy do náhodného modulu Krajta .

Podívejte se na následující tabulku, která se skládá z některých důležitých funkcí generátoru náhodných čísel a jejich popisu v náhodném modulu:



Funkce

Popis

semínko()

Vyráběné hodnoty budou deterministické, což znamená, že když je počáteční číslo stejné, vygeneruje se stejná sekvence hodnot

randrange ()

Může vrátit náhodné hodnoty mezi zadaným limitem a intervalem

chodit s někým ()

Vrátí náhodné celé číslo mezi daným limitem

výběr()

Vrátí náhodné číslo ze sekvence

zamíchat()

Zamíchá danou sekvenci

vzorek()

Vrátí náhodně vybrané položky ze sekvence

jednotný()

Vrátí hodnoty s plovoucí desetinnou čárkou mezi daným rozsahem

Podívejme se nyní na každou z nich hlouběji.

Generování celých čísel:

Náhodná celá čísla lze generovat pomocí funkcí, jako jsou randrange () a randint ().

Nejprve se podívejme na randint ().

chodit s někým ():

Tato funkce generuje celá čísla mezi daným limitem. Trvá dva parametry, kde první parametr určuje dolní limit a druhý určuje horní limit. datování (a, b) začne generovat hodnoty od a do b tak, aby:

na<= x <= b (includes a and b)

PŘÍKLAD:

import random random.randint (2,9)

VÝSTUP: 5

Výše uvedený kód může generovat čísla od 2 do 9 včetně limitů. V případě, že chcete vygenerovat několik hodnot mezi tímto rozsahem, můžete použít pro jak následuje:

PŘÍKLAD:

importovat náhodně pro x v rozsahu (2): tisk (random.randint (2,9))

VÝSTUP:

2
6

Pokud chcete generovat čísla v intervalech, můžete použít funkci randrange ().

randrange ():

Funkce randrange (), jak již bylo zmíněno dříve, umožňuje uživateli generovat hodnoty překročením počtu intervalů.

PŘÍKLAD:

import náhodně pro x v rozsahu (5): tisk (random.randrange (2,60,2))

VÝSTUP:

3. 4
28
14
8
26

Jak vidíte, všechna zde vygenerovaná čísla jsou sudá čísla mezi 2 a 6.

Hodnoty s plovoucí desetinnou čárkou můžete také generovat pomocí vestavěných funkcí náhodného modulu.

Generování hodnot s plovoucí desetinnou čárkou:

Chcete-li vygenerovat čísla s plovoucí desetinnou čárkou, můžete použít random () a jednotnou funkci.

náhodný():

Tato funkce vytváří hodnoty s plovoucí desetinnou čárkou mezi 0,0 až 1,0, a proto nebere žádné parametry. Pamatujte, že horní limit je vyloučen. Maximální hodnota tedy bude 9 999.

předpoklady pro kurz umělé inteligence

PŘÍKLAD:

importovat náhodně pro x v rozsahu (5): print (random.random ())

VÝSTUP:

0,18156025373128404
0,19729969175918416
0,6998756928129068
0,16706232338156568
0,059292088577491575

jednotný():

Na rozdíl od funkce random () tato funkce přebírá dva parametry, které určují dolní a horní mez.

PŘÍKLAD:

pro x v rozsahu (5): print (random.uniform (6))

VÝSTUP:

2,3135197730563335
5,752723932545697
4,561236813447408
3,8459675873377863
4,8252929712263235

Python také umožňuje generovat náhodné hodnoty z dané sekvence.

Generování hodnot z dané sekvence:

To lze provést pomocí funkcí choice () a sample ().

výběr():

Tato funkce v zásadě bere sekvenci jako parametr a vrací z ní náhodné hodnoty.

PŘÍKLAD:

pro x v rozsahu (3): print (random.choice ([1,2,3,4,5,6,7,8,9]))

VÝSTUP:

3
jeden
4

Jak vidíte, ve výše uvedeném výstupu jsou pomocí smyčky for vráceny tři hodnoty a všechny hodnoty jsou náhodně převzaty z daného seznamu.

vzorek():

Funkce sample () zvedne náhodnou sekvenci z dané sekvence a vrátí ji jako výstup. Trvá dva parametry, kde první parametr je sekvence a druhý je celočíselná hodnota určující, kolik hodnot je třeba na výstupu vrátit.

PŘÍKLAD:

print (random.sample ([1,2,3,4,5,6,7,8,9], 4))

VÝSTUP: [1, 4, 5, 9]

Jak vidíte, výstupní seznam vytvořený ve výše uvedeném příkladu se skládá ze čtyř náhodně vybraných hodnot z dané posloupnosti.

Další funkce:

semínko():

ansible vs loutka vs kuchař

Funkce seed () přebírá číslo jako parametr nazývaný seed a při každém volání této funkce s tímto číslem vytváří stejná náhodná čísla.

PŘÍKLAD:

random.seed (2) print (random.random (), random.random (), random.random (), end = 'nn') random.seed (3) print (random.random (), random.random ( ), random.random (), end = 'nn') random.seed (2) print (random.random (), random.random (), random.random ())

VÝSTUP:

0,9560342718892494 0,9478274870593494 0,05655136772680869 0,23796462709189137 0,5442292252959519 0,36995516654807925 0,9560342718892494 0,9478274870593494 0,05655136772680869

Ve výše uvedeném příkladu je výstup pro seed (2) při každém volání stejný. Tato funkce je velmi užitečná v experimentech, kde potřebujete předat stejná náhodná čísla různým testovacím případům.

zamíchat():

Tato funkce se používá k náhodnému zamíchání dané sekvence.

PŘÍKLAD:

mylist = [1,2,3,4,5,6,7,8,9] random.shuffle (mylist) tisk (mylist)

VÝSTUP: [6, 8, 2, 4, 3, 7, 1, 5, 9]

Tím se dostáváme na konec tohoto článku o „Generátoru náhodných čísel v Pythonu“. Doufám, že jste pochopili všechny pojmy.

Ujistěte se, že cvičíte co nejvíce a vraťte své zkušenosti.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto blogu „Generátor náhodných čísel v Pythonu“ a my se vám ozveme co nejdříve.

Chcete-li získat podrobné znalosti o Pythonu spolu s jeho různými aplikacemi, můžete se zaregistrovat naživo s nepřetržitou podporou a doživotním přístupem.