Random and math modules in Python learn notes

Source: Internet
Author: User
Tags constant mathematical constants mathematical functions pow shuffle square root

This article mainly introduces Python random and math module learning notes, this article explains the math module mathematical constants, commonly used simple functions, trigonometric functions, etc., explained the random module of the common functions, random selection and sorting, etc., the need for friends can refer to the

Due to the recent frequent use of Random,math and Time ' datetime ' in Python, I decided to spend a systematic study

1. Math Module

Functions in math can not be used for too complex a number of operations, if you need to run a complex number of functions with the same name in the Cmath module, if you want more advanced mathematical functions, you can consider the selection of NumPy and scipy modules outside the standard library, they support not only array and matrix operations, There are plenty of mathematical and physical equations to use.

1.1. Mathematical Constants

Math.PI this mathematical constant equals 3.141592 ...

MATH.E this mathematical constant e = 2.718281 ...,

1.2. Common simple functions

Math.ceil (x): Rounding up the X, returning the smallest integer value greater than or equal to X

The code is as follows:


Import Math #仅在第一次声明, the following will be omitted

Print Math.ceil (Math.PI) #math. Pi is pi Pi, similar to macros in C/s + +

Output 4

Math.floor (x): Rounding down to X, returning an integer value less than or equal to X

The code is as follows:

>>> Import Math

>>> Math.floor (Math.PI)


Math.pow (x,y): exponential operation, get x y-square

The code is as follows:

>>> Math.pow (2, 3)


Math.log (x[, Base]): Logarithmic operation, the default base is the logarithmic operation of E. When using the base parameter, change the base of the logarithm into a base-based logarithmic operation

The code is as follows:

>>> Math.log (10)


>>> Math.log (8, 2) #log (x)/log (base).


MATH.SQRT (x) square root calculation

The code is as follows:

>>> Math.sqrt (4)


Math.fabs (x) Take absolute value

Math.factorial (x) to find factorial, i.e. x!

Math.exp (x) to find the X-square of E

1.3. Trigonometric Functions

The following functions receive an X in radians (radian) as an argument

The code is as follows:

Math.acos (x) #求arccos (x)

Math.asin (x) #求arcsin (x)

Math.atan (x) #求arctan (x)

Math.Cos (x) #求cos (x)

Math.sin (x) #求sin (x)

Math.tan (x) #求tan (x)

Math.degrees (x) angle system into radians

Math.radians (x) radian conversion to angle system

The code is as follows:

>>> Math.degrees (MATH.PI/2)


1.5. Hyperbolic functions and special functions

Math.sinh (x), Math.cosh (x), Math.tanh (x), Math.asinh (x), Math.acosh (x), Math.atanh (x)

Some of the functions are basically useless.

2. Random Module

The function of the random module is to generate the random number, which realizes the pseudo random number generator

1.1. Common functions

Random.seed ([x]) User Initializes a random number seed, optional parameter can be any Hashtable object, default to use system time

Random.randint (A, B) returns an integer between A and B

Random.randrange ([start], stop[, step] gets a random number from the specified range in a collection that is incremented by the specified cardinality. such as: Random.randrange (10, 100, 2), the result is equivalent from [10, 12, 14, 16, ... 96, 98] sequence to obtain a random number. Random.randrange (10, 100, 2) are equivalent to Random.choice (range (10, 100, 2) on the results.

Random.randrange (Start, stop, step) is equivalent to Random.choice (range (Start, stop, step)

The code is as follows:

>>> Random.randrange (10, 100, 2)


1.2. Random Selection and sequencing

Random.choice (Sequence): Gets a random element from the sequence. The parameter sequence represents an ordered type. Here's how: sequence is not a specific type in Python, it's a series of types. list, tuple, strings belong to sequence

The code is as follows:

>>> Random.choice (Range (10))


>>> Random.choice ((1, 2, 3, 4))


Random.sample (sequence, k) # Randomly obtains a fragment of the specified length k from the specified sequence. The sample function does not modify the original sequence

The code is as follows:

>>> LST = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> new_lst = Random.sample (LST, 6)

>>> Print New_lst

[8, 9, 2, 1, 5, 4]

>>> Print LST

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Random.shuffle (x[, Random]), which is used to disrupt elements in a list without generating a new list

The code is as follows:

>>> LST = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> Random.shuffle (LST)

>>> Print LST

[10, 5, 2, 7, 3, 9, 4, 8, 6, 1]

1.3. Random generation of real numbers

The generated real numbers conform to uniform distributions (uniform distribution)

Random.random () randomly generates the next real number, which is in the range of [0,1].

Random.uniform (a,b) randomly generates the next real number, which is within the [A,b] range.

The code is as follows:

>>> Random.random ()


>>> Random.uniform (3, 8)


Random.gauss (mu,sigma) randomly generates random numbers that conform to the Gaussian distribution, and the Mu,sigma is two parameters of the Gaussian distribution.

Random.expovariate (LAMBD) randomly generates random numbers that conform to exponential distribution, and LAMBD is the parameter of exponential distribution.

Related Article

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.