In this tutorial, we will learn how to find the nth digit of a number in Python. This is a common programming problem that is often asked in coding interviews and challenges.

It’s also a useful skill to have when working with numbers in a variety of applications. We’ll go through the steps to solve this problem and provide some sample code for you to experiment with. So, let’s get started!

### Step 1: Convert the Number to a String

In order to find the nth digit of a number, we first need to convert the number into a string. This is because Python strings are sequences of characters, and we can easily access the nth character of a string using indexing.

Let’s see how we can convert a number into a string:

1 2 3 |
number = 12345 str_number = str(number) print(str_number) |

12345

Now our number is converted into a string, and we can proceed to find the nth digit.

### Step 2: Access the Nth Digit of the String

After converting the number into a string, we can easily access the nth digit using string indexing. Remember that in Python, the indices start from 0, which means that if you want to access the 2nd digit, you should use the index 1:

1 2 |
nth_digit = str_number[1] print(nth_digit) |

2

In the example above, we accessed and printed the 2nd digit of the number `12345`

, which is `2`

.

### Step 3: Convert the Nth Digit Back to an Integer

Now that we have the nth digit as a string, we may want to convert it back to an integer to perform further calculations if needed. We can do this using the `int()`

function:

1 2 |
nth_digit_int = int(nth_digit) print(nth_digit_int) |

2

Now we have successfully obtained the nth digit of the given number as an integer.

### Putting It All Together

Now let’s put all the steps together and create a function that takes a number and an index as input and returns the nth digit of the number:

1 2 3 4 5 6 7 |
def find_nth_digit(number, n): str_number = str(number) if 0 <= n < len(str_number): nth_digit = str_number[n] return int(nth_digit) else: return "Invalid index" |

Let’s test our function with some examples:

1 2 3 4 |
print(find_nth_digit(12345, 2)) print(find_nth_digit(987654321, 5)) print(find_nth_digit(123, 0)) print(find_nth_digit(123, 3)) |

3 5 1 Invalid index

It works as expected and returns the nth digit of the given number.

## Conclusion

In this tutorial, we learned how to find the nth digit of a number in Python. We used string conversion and indexing to achieve this goal. This method is handy when working with numbers in various applications and can be a great skill to have for coding interviews and challenges.