logo

Atsitiktiniai skaičiai Python

Python apibrėžia funkcijų rinkinį, kuris naudojamas atsitiktiniams skaičiams generuoti arba manipuliuoti naudojant atsitiktinis modulis. 

Funkcijos atsitiktinis modulis pasikliaukite pseudoatsitiktinių skaičių generatoriaus funkcija random(), kuri generuoja atsitiktinį slankiojo skaičiaus tarp 0,0 ir 1,0. Šios konkrečios funkcijos naudojamos daugelyje žaidimų loterijų arba bet kurioje programoje, kuriai reikalingas atsitiktinių skaičių generavimas.



Pažvelkime į atsitiktinio generavimo pavyzdį numerį Python naudojant atsitiktinė () funkcija.

Python
import random num = random.random() print(num) 

Išvestis:  

0.30078080420602904

Įvairūs būdai, kaip sugeneruoti atsitiktinį skaičių „Python“.

Yra keletas būdų, kaip sugeneruoti atsitiktinius skaičius Python naudojant Python atsitiktinio modulio funkcijas. Pažiūrėkime kelis skirtingus būdus.



Atsitiktinio skaičiaus generavimas naudojant pasirinkimą ()

Python random.choice() yra Python programavimo kalbos integruota funkcija, kuri grąžina atsitiktinį elementą iš a sąrašą kortele arba styga .

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)) 

Išvestis:

5  
t

Atsitiktinio skaičiaus generavimas naudojant randrange()

Atsitiktinis modulis siūlo funkciją, kuri gali generuoti Python atsitiktinius skaičius iš nurodyto diapazono ir taip pat leidžia įtraukti žingsnius, vadinamus 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)) 

Išvestis:  

A random number from list is : 4  
A random number from range is : 41

Atsitiktinio skaičiaus generavimas naudojant seed()

Python random.seed() Funkcija naudojama išsaugoti atsitiktinės funkcijos būseną, kad ji galėtų sugeneruoti kai kuriuos atsitiktinius skaičius Python programoje kelis kartus vykdant kodą toje pačioje mašinoje arba skirtingose ​​mašinose (konkrečiai pradinei vertei). Pradinė vertė yra ankstesnis generatoriaus sugeneruotas vertės numeris. Pirmą kartą, kai nėra ankstesnės reikšmės, naudojamas dabartinis sistemos laikas.

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()) 

Išvestis:  

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

Atsitiktinio skaičiaus generavimas naudojant shuffle ()

The shuffle () funkcija naudojama sekai (sąrašui) maišyti. Maišymas reiškia sekos elementų padėties pakeitimą. Čia vyksta maišymo operacija.

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) 

Išvestis:

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']

Atsitiktinio skaičiaus generavimas naudojant uniformą ()

The uniforma () funkcija naudojama generuoti slankiojo kablelio Python atsitiktinį skaičių tarp jos argumentuose nurodytų skaičių. Reikia dviejų argumentų: apatinė riba (įtraukta į generavimą) ir viršutinė riba (neįtraukta į generavimą).

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)) 

Išvestis:  

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