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 herních loteriích nebo v jakékoli aplikaci vyžadující generování náhodných čísel.
Podívejme se na příklad generování náhody číslo v Pythonu pomocí funkce random().
Pythonimport random num = random.random() print(num)
výstup:
0.30078080420602904Rů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 z a seznam tuple nebo řetězec .
Python# 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))
výstup:
5
t
Generování náhodného čísla pomocí randrange()
Modul random nabízí funkci, která dokáže generovat náhodná čísla Pythonu ze zadaného rozsahu a také umožňuje zahrnout kroky randrange() .
Python
# 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žívá aktuální systémový čas.
Python# 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()
The zamíchat () funkce 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ě.
Python# 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('nAfter the first shuffle : ') print(sample_list) # second shuffle random.shuffle(sample_list) print('nAfter 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()
The jednotný() Funkce se používá ke generování náhodného čísla Pythonu s plovoucí desetinnou čárkou mezi čísly uvedenými v jeho argumentech. Vyžaduje dva argumenty dolní mez (zahrnuto do generování) a horní mez (nezahrnuto do generování).
Python# 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('r') # 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('r') # 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