- Как получить последнюю цифру числа на Python
- Как найти последнюю цифру числа при помощи строк
- Использование оператора деления по модулю
- 1 комментарий к “Как получить последнюю цифру числа на Python”
- Дано вещественное число. Найти его вторую цифру в дробной части
- Решение
- Решение
- Найти вторую цифру числа питон
- Алгоритм получения цифр n n -значного числа
- Решение задач
- Как взять n-ую цифру числа в питоне
- 4 ответа
Как получить последнюю цифру числа на Python
Давайте разберем, как найти последнюю цифру числа при помощи Python. Начинающим программистам довольно часто задают подобные задачки. Как обычно, есть больше одного способа решения. Мы рассмотрим использование строк и деление по модулю.
Как найти последнюю цифру числа при помощи строк
Чтобы получить последнюю цифру заданного числа, нужно сделать следующее:
- Преобразовать число в строку при помощи функции str()
- Получить последний символ строки по индексу -1
- При помощи функции 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
Какой подход вы выберете, зависит от личных предпочтений. Мы бы рекомендовали использовать оператор деления по модулю % , так как он довольно прост для чтения и интуитивно понятен.
1 комментарий к “Как получить последнюю цифру числа на Python”
Дано вещественное число. Найти его вторую цифру в дробной части
Дано вещественное число. Найти его вторую цифру в дробной части
Дано вещественное число. Найти его вторую цифру в дробной части.
Дано положительное вещественное число Х. Определить, равна ли первая цифра его дробной части последней цифре целой части
Дано положительное вещественное число Х. Определить, равна ли первая цифра его дробной части.
Pascal -> С++ (определить вторую цифру дробной части частного от деления суммы первой и третьей цифр трехзначного числа на вторую цифру этого числа)
Составить программу. выполняющую операции целочисленной арифметики Определить вторую цифру.
Сообщение было отмечено RubySnake как решение
Решение
>>> pi=3.141592 >>> print(str(pi).split('.')[1][1]) 4
Сообщение от RubySnake
дареного коня к стоматологу не водят.
Можно конечно, но на этом мой лимит доброты к халявщикам исчерпан
Сообщение было отмечено iSmokeJC как решение
Решение
print(int(float(input()) * 100)%10)
Дано двухзначное натуральное число. Заменить его вторую цифру на 0
№1 Дано двухзначное натуральное число. Заменить его вторую цифру на 0.
№1 Дано двухзначное натуральное число. Заменить его вторую цифру на 0
№1 Дано двухзначное натуральное число. Заменить его вторую цифру на 0. нужна программа
Дано натуральное число n. Найти вторую цифру этого числа
дано натуральное число n найти вторую цифра числа n
Вывести старшую цифру дробной части и младшую цифру целой части числа
Даны натуральные числа M и N. Вывести старшую цифру дробной части и младшую цифру целой части числа.
Вывести старшую цифру дробной части и младшую цифру целой части числа
Даны натуральные числа M и N. Вывести старшую цифру дробной части и младшую цифру целой части числа.
Найти вторую цифру числа питон
25 декабря, 2020
kevich
При помощи операции нахождения остатка и целочисленного деления можно достаточно несложно вычислить любую цифру числа.
Рассмотрим программу получения цифр двузначного числа:
num = 17 a = num % 10 b = num // 10 print(a) print(b)
Результатом выполнения программы будут два числа:
То есть сначала мы вывели последнюю цифру числа, а затем первую цифру.
Запомни: последняя цифра числа определяется всегда как остаток от деления числа на 10 (% 10) . Чтобы отщепить последнюю цифру от числа, необходимо разделить его нацело на 10 (// 10) .
Рассмотрим программу получения цифр трёхзначного числа:
num = 754 a = num % 10 b = (num % 100) // 10 c = num // 100 print(a) print(b) print(c)
Результатом выполнения программы будут три числа:
То есть сначала мы вывели последнюю цифру числа, затем среднюю цифру, а затем первую цифру.
Алгоритм получения цифр n n -значного числа
Несложно понять, по какому алгоритму можно найти каждую цифру n n -значного числа num :
- Последняя цифра: (num % 10 1 ) // 10 0 ;
- Предпоследняя цифра: (num % 10 2 ) // 10 1 ;
- Предпредпоследняя цифра: (num % 10 3 ) // 10 2 ;
- …..
- Вторая цифра: (num % 10 n-1 ) // 10 n-2 ;
- Первая цифра: (num % 10 n ) // 10 n-1 .
Решение задач
Задача 1. Напишите программу, определяющую число десятков и единиц в двузначном числе.
Решение. Число единиц – это последняя цифра числа, число десятков – первая цифра. Чтобы получить последнюю цифру любого числа, нужно найти остаток от деления числа на 10. Чтобы найти первую цифру двузначного числа, нужно поделить число нацело на 10. Программа, решающая поставленную задачу, может иметь следующий вид:
num = int(input()) last_digit = num % 10 first_digit = num // 10 print('Число десятков =', first_digit) print('Число единиц =', last_digit)
Задача 2. Напишите программу, в которой рассчитывается сумма цифр двузначного числа.
Решение. Программа, решающая поставленную задачу, может иметь следующий вид:
num = int(input()) last_digit = num % 10 first_digit = num // 10 print('Сумма цифр =', last_digit + first_digit)
Задача 3. Напишите программу, которая печатает число, образованное при перестановке цифр двузначного числа.
Решение. Программа, решающая поставленную задачу, может иметь следующий вид:
num = int(input()) last_digit = num % 10 first_digit = num // 10 print('Искомое число =', last_digit * 10 + first_digit)
Задача 4. Напишите программу, в которую вводится трёхзначное число и которая выводит на экран его цифры (через запятую).
Решение. Программа, решающая поставленную задачу, может иметь следующий вид:
num = int(input()) digit3 = num % 10 digit2 = (num // 10) % 10 digit1 = num // 100 print(digit1, digit2, digit3, sep=',')
Опубликовано в рубрике Разное
Как взять n-ую цифру числа в питоне
Я хочу взять n-ую цифру из N-значного числа в Python. Например:
number = 9876543210 i = 4 number[i] # should return 6
Как я могу сделать что-то подобное в Python? Должен ли я сначала изменить его на строку, а затем изменить его на int для расчета?
4 ответа
Сначала обработайте число как строку
number = 9876543210 number = str(number)
Затем, чтобы получить первую цифру:
Это вернет цифру как символ, а не как число. Чтобы преобразовать его обратно используйте:
Хорошо, во-первых, используйте функцию str () в python, чтобы превратить «число» в строку
number = 9876543210 #declaring and assigning number = str(number) #converting
Затем получите индекс, 0 = 1, 4 = 3 в индексной нотации, используйте int (), чтобы превратить его в число
print(int(number[3])) #printing the int format of the string "number"'s index of 3 or '6'
Если вам нравится в краткой форме
print(int(str(9876543210)[3])) #condensed code lol, also no more variable 'number'
Я бы порекомендовал добавить булевскую проверку для величины числа. Я конвертирую большое значение в миллисекундах в дату и время. У меня есть числа от 2 до 200 000 200, поэтому 0 — это правильный вывод. Функция, которая есть у @Chris Mueller, вернет 0, даже если число меньше 10 ** n.
def get_digit(number, n): return number // 10**n % 10 get_digit(4231, 5) # 0
def get_digit(number, n): if number - 10**n < 0: return False return number // 10**n % 10 get_digit(4321, 5) # False
Вы должны быть осторожны при проверке логического состояния этого возвращаемого значения. Чтобы разрешить 0 в качестве допустимого возвращаемого значения, вы не можете просто использовать if get_digit: . Вы должны использовать if get_digit is False: , чтобы 0 не вел себя как ложное значение.
Вы можете сделать это с помощью целочисленного деления и остатка методов
def get_digit(number, n): return number // 10**n % 10 get_digit(987654321, 0) # 1 get_digit(987654321, 5) # 6
// выполняет целочисленное деление на степень десяти, чтобы переместить цифру в позицию единиц, затем % получает остаток после деления на 10. Обратите внимание, что при нумерации в этой схеме используется нулевое индексирование и начинается с правой стороны номера.