Random is the module in which Python generates pseudo-random numbers, and the stochastic seed defaults to the system clock. The methods in the following analysis module:
1.random.randint (start,stop):
This is a function of generating an integer random number, the parameter start represents the minimum value, the parameter stop represents the maximum value, both ends of the value can be taken;
Time complexity of the function algorithm: O (1)
Core Source code:
Return Self.randrange (A, b+1) # is encapsulated by the Randrange function
Example:
1 for in range:2print(rm.randint (0, ten), end=")
2.random.randrange (Start,stop,step):
is also a random integer function, the parameters are optional;
when there is only one parameter, the default random range of 0 to the parameters, front closed after open, two parameters, Min and Max, front closed after open; three parameters, minimum, maximum and step, front closed and open.
Algorithm time Complexity: O (1)
Core Source code:
return Istart + istep*self._randbelow (n) # This function is encapsulated by the _randbelow function
Example:
1 for in range:2print# generates 0 to 10 (not included) random number 3Print # generate 5 to 10 (not included) random number 4print# Generates a random number of multiples of 5 in the range 5 to 100 (not included)
3.choice (seq):
a random selection function, SEQ is a non-empty collection, randomly selects an element output in the collection, there is no restriction on the type of the element.
Core source code:
i = Self._randbelow (Len ( SEQ) # random subscript
return seq[i]
time complexity: O (1)
example:
1 list3 = ["wo"" I am ", 2, 8, [2, 3]]2 for in range:3print(Rm.choice (LIST3), end="")
4.random ():
This function forms any floating-point number from 0.0 to 1.0, left closed right, without parameters.
Example:
1 for in range:2print(Rm.random (), end="")
5.send (N=none):
a function that initializes the random number generator, n represents a random seed, and when N=none, the random seed is the system time, when n is other data, such as INT,STR, and so on, the supplied data is used as a random seed, at which time the generated random sequence is fixed.
Example:
1 rm.seed ("hdsfsf")2for in# No matter how many times the program starts, the output sequence does not change 3 Print (Rm.randint (0, ten), end=")
6.getstate () and SetState (state):
The GetState () function is used to record the state of the random number generator, and the SetState (state) function is used to restore the generator to its last record.
Example:
1Tuple1 = Rm.getstate ()#record the state of the generator2 forIinchRange (20):3 Print(Rm.randint (0, ten), end=' ')4 Print()5Rm.setstate (Tuple1)#state before recovery after passing in parameters6 forJinchRange (20):7 Print(Rm.randint (0, ten), end=' ')#the results of the two sets of outputs are the same
7.shuffle (Seq,random=none):
The incoming collection is manipulated in a random order. Only for variable sequences, such as strings, lists, for tuples and other immutable sequences will be error, random used to choose the way of disorderly operation, such as: Random=random.
Core Source code:
for in Reversed (range (1= Randbelow (i+1= X[j], x[i]
Time complexity: O (N)
Example:
1 list3 = ["wo"" I am ", 2, 8, [2, 3]]2 Print (LIST3) 3 rm.shuffle (list3, random=None)4print(LIST3)
8.sample (population, K):
The population parameter is a sequence, such as a list, a tuple, a collection, a string, and so on, randomly extracting k elements from a collection to form a new sequence without altering the original sequence.
Core Source code:
for inch # Use the Randbelow function to get a random integer while in# to get the random number de-weight j = # Assign Value
Worst time complexity: O (N*n)
Example:
1 list3 = ["wo"" I am ", 2, 8, [2, 3], 2, 2, 8]2 Print(list3)3 list1 = Rm.sample (List3, 4)4Print (List1)
9.uniform (A, B):
A function that generates a floating-point number between parameters A through B, and if a > b, generates a floating-point number between B and a.
Core Source:
Return a + (b-a) * Self.random () # An encapsulation of the random function
Time complexity: O (1)
Example:
1 for in range:2print(Rm.uniform (10, 1))
Python's Random module function analysis (i)