# Python random randrange()

`randrange()` is a function in the Python `random` module that returns a randomly selected integer within a specified range.

The syntax for the `randrange()` function is as follows:

```random.randrange([start], stop[, step])
```

Here’s what each argument represents:

• `start` (optional): the start of the range (inclusive). If not specified, the default value is 0.
• `stop`: the end of the range (exclusive). This argument is required.
• `step` (optional): the step size. If not specified, the default value is 1.

Here’s an example usage of `randrange()`:

```import random

# Generate a random number between 0 and 9
num = random.randrange(10)

# Generate a random even number between 0 and 20
even_num = random.randrange(0, 21, 2)

print(num)
print(even_num)
```

This code will output two random integers, one between 0 and 9 (inclusive), and the other between 0 and 20 (inclusive) with a step size of 2. Note that the `stop` argument is always exclusive, meaning that the function will never return the value of `stop`.

### Generate a random integer number range (multiple) of n:

To generate a random integer multiple of n within a specific range, you can use the `randrange()` function from the Python `random` module. Here’s an example code snippet:

```import random

# Define the range of numbers you want to generate
start = 0
stop = 100

# Define the multiple of n
n = 10

# Generate a random integer multiple of n within the range
num = random.randrange(start, stop, n)

print(num)
```

In this example, we first import the `random` module. We then define the range of numbers we want to generate (from 0 to 100), and the multiple of `n` we want to use (in this case, `n` is 10). We then use the `randrange()` function with the arguments `start`, `stop`, and `step` to generate a random integer within the specified range that is a multiple of `n`.

The `randrange()` function generates a random integer `x` such that `start <= x < stop` and `x` is a multiple of `n`. Note that the `stop` argument is always exclusive, meaning that the function will never return the value of `stop`.

You can adjust the values of `start`, `stop`, and `n` to generate different ranges of numbers and multiples of `n`.

### Generate the random integer number of a specific length:

To generate a random integer number of a specific length, you can use the `randint()` function from the Python `random` module along with some simple math.

Here’s an example code snippet that generates a random integer with a specific length:

```import random

# Define the length of the integer
length = 5

# Calculate the minimum and maximum values of the integer
min_value = 10 ** (length - 1)
max_value = (10 ** length) - 1

# Generate a random integer within the specified range
num = random.randint(min_value, max_value)

print(num)
```

In this example, we first import the `random` module. We then define the length of the integer we want to generate (in this case, the length is 5). We calculate the minimum and maximum values of the integer using the formula `10 ** (length - 1)` and `(10 ** length) - 1`, respectively.

The `min_value` is the smallest integer that has the specified length, and the `max_value` is the largest integer that has the specified length.

We then use the `randint()` function with the `min_value` and `max_value` as the arguments to generate a random integer within the specified range.

Note that the `randint()` function generates a random integer `x` such that `min_value <= x <= max_value`. In this case, `min_value` and `max_value` are both inclusive.

You can adjust the value of `length` to generate random integers of different lengths.

### Generate a random negative integer number:

To generate a random negative integer number, you can use the `randint()` function from the Python `random` module along with some simple math.

Here’s an example code snippet that generates a random negative integer:

```import random

# Define the range of the integer
min_value = -100
max_value = -1

# Generate a random integer within the specified range
num = random.randint(min_value, max_value)

print(num)
```

In this example, we first import the `random` module. We then define the range of the integer we want to generate, which in this case is from -100 to -1.

We use the `randint()` function with the `min_value` and `max_value` as the arguments to generate a random integer within the specified range. Since both `min_value` and `max_value` are negative, the resulting integer will be negative as well.

Note that the `randint()` function generates a random integer `x` such that `min_value <= x <= max_value`. In this case, both `min_value` and `max_value` are inclusive.

You can adjust the values of `min_value` and `max_value` to generate random negative integers within different ranges.

### Generate random positive or negative integer number:

To generate a random positive or negative integer number, you can use the `randint()` function from the Python `random` module along with some simple math.

Here’s an example code snippet that generates a random positive or negative integer:

```import random

# Define the range of the integer
min_value = -100
max_value = 100

# Generate a random integer within the specified range
num = random.randint(min_value, max_value)

print(num)
```

In this example, we first import the `random` module. We then define the range of the integer we want to generate, which in this case is from -100 to 100.

We use the `randint()` function with the `min_value` and `max_value` as the arguments to generate a random integer within the specified range. The resulting integer could be positive or negative, depending on the randomly generated value.

Note that the `randint()` function generates a random integer `x` such that `min_value <= x <= max_value`. In this case, both `min_value` and `max_value` are inclusive.

You can adjust the values of `min_value` and `max_value` to generate random integers within different ranges, including ranges that span only positive or only negative numbers.

### random.choice():

`random.choice()` is a function from the Python `random` module that allows you to randomly select an element from a sequence (such as a list, tuple, or string).

Here’s an example code snippet that demonstrates how to use `random.choice()`:

```import random

# Define a list of options
options = ['rock', 'paper', 'scissors']

# Select a random option from the list
random_option = random.choice(options)

print(random_option)
```

In this example, we first import the `random` module. We then define a list of options (in this case, the options are ‘rock’, ‘paper’, and ‘scissors’).

We use the `random.choice()` function with the `options` list as the argument to randomly select one of the options from the list. The selected option is then assigned to the `random_option` variable.

Finally, we print out the `random_option` variable to see which option was selected.

Note that you can use `random.choice()` with any sequence (such as a list, tuple, or string) to randomly select an element from it.

### random.sample():

`random.sample()` is a function from the Python `random` module that allows you to randomly select a specified number of unique elements from a sequence (such as a list, tuple, or string) without replacement.

Here’s an example code snippet that demonstrates how to use `random.sample()`:

```import random

# Define a list of options
options = ['red', 'green', 'blue', 'yellow', 'purple']

# Select 3 unique options from the list
random_options = random.sample(options, 3)

print(random_options)
```

In this example, we first import the `random` module. We then define a list of options (in this case, the options are ‘red’, ‘green’, ‘blue’, ‘yellow’, and ‘purple’).

We use the `random.sample()` function with the `options` list and the number `3` as the arguments to randomly select 3 unique options from the list. The selected options are then assigned to the `random_options` variable.

Finally, we print out the `random_options` variable to see which options were selected.

Note that if you try to select more elements than there are in the sequence or if you try to select the same element multiple times, `random.sample()` will raise a `ValueError` exception.

### List sort():

`sort()` is a built-in method of Python’s `list` data type that allows you to sort the elements of a list in ascending order by default, or in descending order if you specify the `reverse=True` argument.

Here’s an example code snippet that demonstrates how to use `sort()` to sort a list of numbers:

```numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

# Sort the numbers in ascending order
numbers.sort()

print(numbers)
```

In this example, we define a list of numbers. We then use the `sort()` method to sort the numbers in ascending order. The sorted list is then printed to the console.

You can also use the `reverse=True` argument to sort the list in descending order:

```numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

# Sort the numbers in descending order
numbers.sort(reverse=True)

print(numbers)
```

In this example, we define the same list of numbers as before. We then use the `sort()` method with the `reverse=True` argument to sort the numbers in descending order. The sorted list is then printed to the console.

Note that `sort()` modifies the original list in place, rather than returning a new sorted list. If you want to create a new sorted list without modifying the original list, you can use the built-in `sorted()` function instead.