Python náhodný modul umožňuje generování náhodných čísel. Vygenerovaná čísla jsou posloupností pseudonáhodných čísel, která vycházejí z použité funkce. V náhodném modulu se používají různé typy funkcí pro generování náhodných čísel, jako např random.random(), random.randint(), random.choice(), random.randrange(start, stop, width) , a mnoho dalších.
Zde budeme diskutovat o randrange() funkce náhodný modul. The randrange() Funkce se používá ke generování náhodného čísla mezi zadaným rozsahem v jeho parametru. Přijímá tři parametry: počáteční číslo, číslo zastávky a šířku, která se používá k přeskočení čísla v rozsahu.
Syntaxe random.randrange()
random.randrange(start, stop[, width])
The random.randrange() funkce vrací náhodné celé číslo v daném rozsahu, tj. start a stop. The random.randrange() funkce přijímá tři parametry jako vstup začátek Konec , a šířka . Z těchto tří parametrů dva parametry Start a šířka jsou volitelné.
- The Start parametr je počáteční nebo dolní limitní celé číslo v náhodném rozsahu. Pokud není parametr start předán v parametru, nabývá výchozí hodnoty 0 (nula).
- A stop parametr je poslední číslo nebo horní limit celé číslo v náhodném rozsahu.
- The šířka parametr je rozsah mezi každým číslem v náhodné sekvenci. Tento parametr je volitelný a pokud parametr width není předán v parametru, nabývá výchozí hodnoty 1 (jedna).
The randrange (start, stop, width) funkce nezahrnuje koncový parametr při generování náhodného celého čísla. The stop parametr je výhradní a nevygeneruje se v náhodném čísle.
Podívejte se na tuto funkci random.randrange(3, 30, 3), která vygeneruje jakoukoli náhodnou celočíselnou hodnotu mezi 3 až 30, například 3, 6, 9, 12, …27. Ale tato funkce nikdy nezahrnuje 30 při generování náhodného čísla.
Generování náhody v aplikaci bylo vždy důležité a má několik využití v reálném čase v každodenním životě. Například vygenerování a odeslání náhodného čísla zákazníkovi jako OTP (jednorázové heslo) pro provedení bezpečné transakce. Další příklad generování náhodného čísla se používá při hraní hry ludo ke generování náhodného čísla kostek.
Příklady 1: random.randrange() generuje náhodné celé číslo v daném rozsahu
Podívejme se na příklad, kde generujeme náhodné celé číslo v daném rozsahu. Tento příklad ukazuje všechny různé formy funkce random.randrange().
import random print('Generating random number within a given range ') # Random number between 0 and 29 number1 = random.randrange(30) print('Random integer: ', number1) # Random number between 10 and 29 number2 = random.randrange(10, 30) print('Random integer: ', number2) # Random number between 25 and 200 divisible by 5 number3 = random.randrange(25, 201, 5) print('Random integer: ', number3)
Výstup:
Příklad 2: Vygenerujte rozsah náhodných celých čísel (násobek) n
Vygenerujme náhodné celé číslo mezi 5 až 100, což je rozsah 5, například 5, 10, 25, …, 90, 95.
import random #print 'Random number range (multiple) of 5' number = random.randrange(5, 100, 5) print('Random number range (multiple) of 5 is ', number)
Výstup:
Příklad 3: Vygenerujte náhodné celé číslo konkrétní délky
Můžete také vygenerovat náhodné celé číslo určité délky. Pokud chcete vygenerovat náhodné číslo délky 3, zadejte Start a stop parametr v randrange() funkce jako nejmenší číslo délky 3 číslic (100) a nejmenší číslo délky 4 číslic (1000), protože generuje náhodné číslo o délce 3 číslic od 100 do 999, kde jsou vyloučeny 4 číslice (1000).
Příklad: Vygenerujte náhodné 3místné číslo pomocí random.randrange()
import random number1 = random.randrange(100, 1000) print('First random number of length 3 is: ', number1) number2 = random.randrange(100, 1000) print('Second random number of length 3 is: ', number2)
Výstup:
First random number of length 3 is: 813 Second random number of length 3 is: 770
Příklad 4: Vygenerujte náhodné záporné celé číslo:
Podívejme se na příklad, který generuje náhodné záporné celé číslo mezi -50 až -10.
import random randomNagativeInteger = random.randrange(-50, -10) print('Random negative integer number between -50 to -10') print('Random negative integer number between -50 to -10 is: ',randomNagativeInteger)
Výstup:
Random negative integer number between -50 to -10 Random negative integer number between -50 to -10 is: -43
Příklad 5: Vygenerujte náhodné kladné nebo záporné celé číslo
import random number1 = random.randrange(-5, 5) print(number1) number2 = random.randrange(-5, 5) print(number2)
Výstup:
-5 0
Všimněte si, že parametr Start a stop , která se předává random.randrange() funkce musí být v rostoucím pořadí, jako např random.randrange(5, 10) nebo random.randrange(-20, -10) . The Start parametr být vždy menší než stop parametr; jinak tato funkce generuje chybu jako 'Traceback (poslední poslední volání) a zvýšení ValueError prázdný rozsah pro randrange()' .
Například:
Podívejte se na tento příklad, ve kterém porušujeme pravidlo tím, že předáváme Start parametr větší než stop parametr v random.randrange() funkce, která generuje chybovou zprávu jako:
seznam vytváření java
import random randomNumber = random.randrange(10,5)
Výstup:
Některé z dalších funkcí Pythonův náhodný modul které se používají k náhodnému generování čísel, jsou:
random.choice()
Krajta náhodný modul má a výběr() funkce sloužící k výběru náhodného prvku ze seznamu nebo jiné sekvence. A random.choice() Funkce se používá k vrácení náhodného prvku ze seznamu hodnot.
Syntaxe ramdom.choice()
random.choice(sequence)
nebo
random.choices(sequence, k=l)
Zde je parametr sekvence může být řetězec, seznam, n-tice a random.choice() pouze jeden náhodný prvek.
V random.choices() funkce k je počet prvků, které mají být vráceny. Předpokládejme, že nezmíníme hodnotu pro k parametr the random.choices() vrátí jednu položku ze sekvence nebo seznamu.
Příklad 1:
V tomto příkladu poskytujeme sekvenci (seznam) jako parametr a vracíme jeden náhodný prvek.
import random listValue = [5,10,15,20,25,30] item = random.choice(listValue) print('random item from list is: ', item)
Výstup:
random item from list is: 10
Příklad 2:
Funkce random.choices() se většinou používá pro vrácení náhodných prvků s různými možnostmi. Tato funkce také bere váhu (k) počtu náhodných voleb. Například chceme vytisknout 3 náhodné názvy filmů ze seznamu 5 filmů.
import random movieList = ['Matrix', 'Terminator', 'Black Panther', 'Avengers', 'Titanic'] randomMovies = random.choices(movieList, k=3) print('random movies from list are: ', randomMovies)
Výstup:
random movies from list are: ['Avengers', 'Black Panther', 'Titanic']
random.randint()
Krajta random.randint() Funkce se používá ke generování náhodného celého čísla v zadaném rozsahu.
Syntax:
random.randint(start, stop)
The random.randint() funkce má dva parametry Start , což je počáteční rozsah, a stop , což je koncový rozsah. Při generování náhodného čísla jsou zahrnuty oba parametry (start, stop).
Příklad random.randint() generující seznam náhodných celých čísel
Tento příklad vytvoří seznam více náhodných celých čísel pomocí funkce randint(). Generování seznamu 5 náhodných celých čísel mezi 1 a 100, obě hodnoty jsou včetně.
import random randomListValue = [] # specifing length of list equal to 5 for i in range(0, 5): # generates random numbers from 1 to 100 randomListValue.append(random.randint(1, 100)) print('Printing list of 5 generated random numbers') print(randomListValue)
Výstup:
Printing list of 5 generated random numbers [65, 82, 3, 39, 40]
Může však existovat možnost, že random.randint() funkce vrací duplicitní číslo ve výsledku výstupu. Chcete-li se vyhnout duplicitnímu náhodnému celému číslu ve výsledku, použijte náhodný vzorek() funkce.
náhodný vzorek()
Ve výše uvedeném příkladu může existovat možnost, že random.randint() vygeneruje duplicitní náhodné číslo ze seznamu. Pokud chcete generovat jedinečná náhodná čísla ze seznamu, použijte náhodný vzorek() funkce.
The náhodný vzorek() Funkce generuje jedinečné prvky ze sady, seznamu a dalších sekvencí. Funkce random.sample() Pythonu umožňuje náhodné vzorkování více než jednoho prvku v rozsahu ze seznamu bez duplikace.
Příklad random.sample() pro generování náhodných prvků ze seznamu bez duplikátů:
V tomto příkladu vygenerujeme 10 náhodných celých čísel z rozsahu 0 až 100.
import random # Generate 10 unique random numbers within a range randomList = random.sample(range(0, 100), 10) print(randomList)
Výstup:
[15, 17, 16, 66, 34, 85, 71, 82, 97, 48]
Pokud chcete vygenerovat seznam náhodných čísel a každé z nich musí být násobkem 'n', použijte parametr step funkce range().
Například generování 10 náhodných celých čísel, která jsou násobkem 5 z rozsahu 0 až 100 pomocí random.sample(range(0, 100, 5), 10).
import random # Generate 10 unique random numbers within a range randomList = random.sample(range(0, 100, 5), 10) print(randomList)
Výstup:
[75, 40, 20, 55, 15, 10, 5, 90, 95, 70]
Seznam řazení()
Python seřadit () funkce se používá k řazení náhodných celých čísel seznamu ve vzestupném pořadí (ve výchozím nastavení). Hodnotu seznamu můžeme také seřadit sestupně zadáním jejího pořadí obráceně = pravda . Výchozí hodnota zvrátit je Nepravdivé .
Příklad 1: sort() řazení prvků seznamu ve vzestupném pořadí
V tomto příkladu vygenerujeme náhodný seznam 5 čísel v rozsahu 50 až 100 o šířce 5 a seřadíme je pomocí seřadit () funkce.
import random randomList = random.sample(range(50, 100, 5), 5) print('Before sorting random integers list') print(randomList) # sort the list ascending order by default randomList.sort() print('After sorting random integers list') print(randomList)
Výstup:
Before sorting random integers list [90, 80, 60, 55, 85] After sorting random integers list [55, 60, 80, 85, 90]
Příklad 2: sort() řazení prvků seznamu v sestupném pořadí
V tomto příkladu seřadíme prvky seznamu v sestupném pořadí pomocí randomList.sort(reverse=True) .
import random randomList = random.sample(range(50, 100, 5), 5) print('Before sorting random integers list') print(randomList) # sort the list descending order randomList.sort(reverse=True) print('After sorting random integers list') print(randomList)
Výstup:
Before sorting random integers list [70, 50, 80, 90, 85] After sorting random integers list [90, 85, 80, 70, 50]