Do you want to generate 10 digit unique random number in Python? In this tutorial, I have explained different methods to generate 10 digit random number in Python.

## Python random 10 digit number

Here we can see how to **generate a random 10 digit number in Python**. To get a random number of specified lengths we should set maximum and minimum values.

In this example, I have imported a module random and to get a random number we should generate N and assign minimum – **minimum = pow(10, N-1) **and maximum – **maximum = pow(10, N) – 1** and then return a random number of length as given in the argument.

Example:

```
import random
def randomnumber(N):
minimum = pow(10, N-1)
maximum = pow(10, N) - 1
return random.randint(minimum, maximum)
print(randomnumber(10))
```

The below screenshot shows the output:

This is how we can **generate a random 10 digit number in Python** very easily.

## Generate 10 digit unique random number in Python

Below are also various methods to generate 10-digit random number in Python programming.

### Method 1: Using the random module

Python’s built-in random module can be used to generate random numbers. Let us see various ways to **generate a random number in Python**.

In this example, I have imported a random module, and **random()** returns the random floating value.

Example:

```
import random
random_number = random.random()
print(random_number)
```

This way, we can **create a single random number in Python**.

Here is another example.

```
import random
random_number = random.randint(1000000000, 9999999999)
print(random_number)
```

In the above code snippet, random.randint() function returns a random integer between the two arguments provided, including both endpoints. It will be a 10-digit number like the below screenshot.

### Method 2: Using random with String Concatenation

This method involves generating each digit of the 10-digit number randomly and concatenating them as a string in Python. Then, convert that string back to an integer.

```
import random
random_number = int(''.join([str(random.randint(0, 9)) for _ in range(10)]))
print(random_number)
```

You can see the output in the below screenshot.

### Method 3: Using random and Math

You can generate a random floating-point number in the range [0, 1) using random.random() and then scale and shift it to get a 10-digit number in Python.

```
import random
random_number = int(random.random() * (10**10 - 1) + 10**9)
print(random_number)
```

This method generates a random float between 0 and 1, multiplies it by (10^10 – 1), and then adds 10^9 to ensure it is 10 digits long. You can see the output below:

### Method 4: Using secrets module

The secrets module can be used for generating cryptographically secure random numbers. This method is suitable when you require higher security 10 digits random numbers in Python.

```
import secrets
random_number = secrets.randbelow(9000000000) + 1000000000
print(random_number)
```

You can see the output like below:

### Method 5: Using NumPy Library

NumPy is a library for the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions. We can also use the NumPy library to generate a random 5-digit number in Python or a 10-digit number.

```
import numpy as np
random_number = np.random.randint(low=10**9, high=10**10 - 1)
print(random_number)
```

In the above code, np.random.randint() function from the numpy library is used to generate a random integer between 10^9 and 10^10 – 1.

### Method 6: Using the uuid module

Though it is generally used to generate unique IDs, you can use the UUID module to generate random numbers as well. By using the below code, we can generate a 10-digit random number.

```
import uuid
random_number = int(str(uuid.uuid4().int)[:10])
print(random_number)
```

This method generates a random UUID, converts it to an integer, takes the first 10 digits as a string, and then converts it back to an integer. Check out the output below:

## Conclusion

I hope you have a complete idea of how to **generate a 10-digit random number in Python** using various methods as explained above with examples.

You may also like the following tutorials:

- Python format number with commas
- linear search and binary search in Python program
- Python program to print prime numbers
- Python Program to Check Prime Numbers [6 methods]

I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.