Python definuje sadu funkcí, které se používají ke generování nebo manipulaci s náhodnými čísly prostřednictvím náhodný modul.
Funkce v náhodný modul spoléhat na funkci generátoru pseudonáhodných čísel random(), která generuje náhodné plovoucí číslo mezi 0,0 a 1,0. Tento konkrétní typ funkcí se používá v mnoha hrách, loteriích nebo jiných aplikacích vyžadujících generování náhodných čísel.
Podívejme se na příklad generování náhodného čísla v Pythonu pomocí funkce random().
Python3
import> random> num>=> random.random()> print>(num)> |
>
>
Výstup:
0.30078080420602904>
Různé způsoby generování náhodného čísla v Pythonu
Existuje řada způsobů, jak generovat náhodná čísla v Pythonu pomocí funkcí modulu Python random. Podívejme se na několik různých způsobů.
Generování náhodného čísla pomocí volby()
Krajta random.choice() je vestavěná funkce v programovacím jazyce Python, která vrací náhodnou položku ze seznamu, tuple , nebo řetězec .
Python3
# import random> import> random> # prints a random value from the list> list1>=> [>1>,>2>,>3>,>4>,>5>,>6>]> print>(random.choice(list1))> # prints a random item from the string> string>=> 'striver'> print>(random.choice(string))> |
Greatandhra
>
>
Výstup:
5 t>
Generování náhodného čísla pomocí randrange()
Modul random nabízí funkci, která může generovat náhodná čísla Pythonu ze zadaného rozsahu a také poskytuje prostor pro zahrnutí kroků, nazvanou randrange() .
Python3
# importing 'random' for random operations> import> random> # using choice() to generate a random number from a> # given list of numbers.> print>(>'A random number from list is : '>, end>=>'')> print>(random.choice([>1>,>4>,>8>,>10>,>3>]))> # using randrange() to generate in range from 20> # to 50. The last parameter 3 is step size to skip> # three numbers when selecting.> print>(>'A random number from range is : '>, end>=>'')> print>(random.randrange(>20>,>50>,>3>))> |
>
>
Výstup:
A random number from list is : 4 A random number from range is : 41>
Generování náhodného čísla pomocí seed()
Krajta random.seed() Funkce se používá k uložení stavu náhodné funkce, aby mohla generovat nějaká náhodná čísla v Pythonu při více spuštěních kódu na stejném stroji nebo na různých strojích (pro konkrétní počáteční hodnotu). Výchozí hodnota je předchozí číslo hodnoty generované generátorem. Poprvé, když neexistuje žádná předchozí hodnota, použije aktuální systémový čas.
Python3
java cast int do řetězce
# importing 'random' for random operations> import> random> # using random() to generate a random number> # between 0 and 1> print>(>'A random number between 0 and 1 is : '>, end>=>'')> print>(random.random())> # using seed() to seed a random number> random.seed(>5>)> # printing mapped random number> print>(>'The mapped random number with 5 is : '>, end>=>'')> print>(random.random())> # using seed() to seed different random number> random.seed(>7>)> # printing mapped random number> print>(>'The mapped random number with 7 is : '>, end>=>'')> print>(random.random())> # using seed() to seed to 5 again> random.seed(>5>)> # printing mapped random number> print>(>'The mapped random number with 5 is : '>, end>=>'')> print>(random.random())> # using seed() to seed to 7 again> random.seed(>7>)> # printing mapped random number> print>(>'The mapped random number with 7 is : '>, end>=>'')> print>(random.random())> |
>
>
Výstup:
A random number between 0 and 1 is : 0.510721762520941 The mapped random number with 5 is : 0.6229016948897019 The mapped random number with 7 is : 0.32383276483316237 The mapped random number with 5 is : 0.6229016948897019 The mapped random number with 7 is : 0.32383276483316237>
Generování náhodného čísla pomocí shuffle()
Funkce shuffle() se používá k zamíchání sekvence (seznamu). Zamíchání znamená změnu pozice prvků sekvence. Zde je operace míchání na místě.
Python3
system.out.println
# import the random module> import> random> # declare a list> sample_list>=> [>'A'>,>'B'>,>'C'>,>'D'>,>'E'>]> print>(>'Original list : '>)> print>(sample_list)> # first shuffle> random.shuffle(sample_list)> print>(>'
After the first shuffle : '>)> print>(sample_list)> # second shuffle> random.shuffle(sample_list)> print>(>'
After the second shuffle : '>)> print>(sample_list)> |
>
>
Výstup:
Original list : ['A', 'B', 'C', 'D', 'E'] After the first shuffle : ['A', 'B', 'E', 'C', 'D'] After the second shuffle : ['C', 'E', 'B', 'D', 'A']>
Generování náhodného čísla pomocí uniform()
Funkce uniform() se používá ke generování náhodného čísla Pythonu s plovoucí desetinnou čárkou mezi čísly uvedenými v jejích argumentech. Vyžaduje dva argumenty, dolní limit (zahrnuto do generace) a horní limit (nezahrnuto do generace).
Python3
# Python code to demonstrate the working of> # shuffle() and uniform()> # importing 'random' for random operations> import> random> # Initializing list> li>=> [>1>,>4>,>5>,>10>,>2>]> # Printing list before shuffling> print>(>'The list before shuffling is : '>, end>=>'')> for> i>in> range>(>0>,>len>(li)):> >print>(li[i], end>=>)> print>(>'
'>)> # using shuffle() to shuffle the list> random.shuffle(li)> # Printing list after shuffling> print>(>'The list after shuffling is : '>, end>=>'')> for> i>in> range>(>0>,>len>(li)):> >print>(li[i], end>=>)> print>(>'
'>)> # using uniform() to generate random floating number in range> # prints number between 5 and 10> print>(>'The random floating point number between 5 and 10 is : '>, end>=>'')> print>(random.uniform(>5>,>10>))> |
>
>
Výstup:
The list before shuffling is : 1 4 5 10 2 The list after shuffling is : 2 1 4 5 10 The random floating point number between 5 and 10 is : 5.183697823553464>