Как получить последнюю цифру числа на Python

Давайте разберем, как найти последнюю цифру числа при помощи Python. Начинающим программистам довольно часто задают подобные задачки. Как обычно, есть больше одного способа решения. Мы рассмотрим использование строк и деление по модулю.

БЕСПЛАТНО СКАЧАТЬ КНИГИ по Python на русском языке можно у нас в телеграм канале "Python книги на русском"

Как найти последнюю цифру числа при помощи строк

Чтобы получить последнюю цифру заданного числа, нужно сделать следующее:

  1. Преобразовать число в строку при помощи функции str()
  2. Получить последний символ строки по индексу -1
  3. При помощи функции int() преобразовать полученный символ в целое число

В коде это выглядит так:

number = 24685

last_digit = int(str(number)[-1])
print(last_digit)


# Вывод:
# 5

Мы использовали функцию str() для преобразования целого числа в строку, чтобы можно было получить доступ к символам строки по индексу. Индексы Python отсчитываются от нуля, поэтому первый символ в строке имеет индекс 0, а последний len(my_str) - 1. Также можно использовать отрицательные индексы – тогда отсчет идет с обратной стороны (справа). Последний символ строки имеет индекс -1.

Следующим шагом является получение доступа к символу с индексом -1. Таким образом мы получаем последний символ строки. Получив этот символ, мы должны преобразовать его в целое число при помощи функции int().

Тот же подход можно использовать и для получения последних N цифр заданного числа.

number = 24685

# Получить последние 2 цифры числа
last_two = int(str(number)[-2:])
print(last_two)  # 85


# Получить последние 3 цифры числа
last_three = int(str(number)[-3:])
print(last_three)  # 685

Использование оператора деления по модулю

Чтобы получить последнюю цифру числа, можно применить оператор деления по модулю. Этот оператор возвращает остаток от деления. Если мы разделим число на 10, в остатке получим последнюю цифру числа.

number = 24685

last_digit = number % 10
print(last_digit)  # 5

Если число может оказаться отрицательным, то для получения правильного результата нужно использовать функцию abs().

number = -24685

last_digit = abs(number) % 10
print(last_digit)  # 5

Функция abs() возвращает абсолютное значение числа. Иными словами, если число положительное, то ничего не изменится, а если число отрицательное, то будет возвращено это же число без знака минус.

print(abs(-27))  # 27
print(abs(27))  # 27

Оператор деления по модулю возвращает остаток от деления первого числа на второе.

print(10 % 2)  # 0
print(10 % 4)  # 2

Если значение в правой части равно нулю, оператор вызывает исключение ZeroDivisionError. В примере мы использовали целые числа, но значения слева и справа также могут быть числами с плавающей запятой.

В нашем случае оператор по деления модулю % делит число на 10 и возвращает остаток от этого деления. Например, остаток от деления 12345 на 10 равен 5.

number = 12345

print(12345 - 1234 * 10)  # 5

Ниже приведено еще несколько примеров:

number = 12345


print(82342 % 10)  # 2
print(248 % 10)  # 8
print(150 % 10)  # 0

Какой подход вы выберете, зависит от личных предпочтений. Мы бы рекомендовали использовать оператор деления по модулю %, так как он довольно прост для чтения и интуитивно понятен.

Перевод статьи Borislav Hadzhiev “Get the last digit of a number in Python”.

1 комментарий к “Как получить последнюю цифру числа на Python”

  1. Пингбэк: Сумма цифр числа в Python - pythonturbo

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *