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

Мне нужно написать программу для нахождения суммы первой и последней цифр числа.
Code language: PHP (php)import math #Импортируем необходимую библиотеку n=int(input('Введите число ')) x = [(n//(10**i))%10 for i in range(math.ceil(math.log(n, 10))-1, -1, -1)] #отделим каждую цифру print(x) #Выводим список с цифрами
Я не знаю, как взять первую и последнюю цифру из этого списка, а затем сложить их вместе.
Решение.
Найти первую и последнюю цифру числа можно несколькими способами, среди которых:
>>> n = 5638 >>> int(str(n)[0]) 5 >>> int(str(n)[-1]) 8
Code language: JavaScript (javascript)>>> import math >>> n // (10 ** int(math.log10(n))) 5 >>> n % 10 8
Как получить первую цифру многозначного числа?
на первой цифре многозначного целочисленного числа это 10, например? Или любое число у которого больше одного разряда?
12 апр 2018 в 19:56
Дано например число 178, нужно чтобы программа запомнила 1 а остальное отбросила, а сейчас в этом коде она до конца идет и оставляет только 0
13 апр 2018 в 4:33
while n >= 10: ( assert n >= 0 )
13 апр 2018 в 13:13
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Переводим модуль числа (на случай отрицательных чисел) в текст и берем первый символ:
n = str(abs(chislo))[0]
Если результат нужно использовать как число, то конвертируем строку опять в число:
n = int(str(abs(chislo))[0])
Отслеживать
ответ дан 13 апр 2018 в 5:45
26.2k 7 7 золотых знаков 31 31 серебряный знак 48 48 бронзовых знаков
Для отрицательных чисел это будет минус?
13 апр 2018 в 5:56
@andreymal Ага. Но исправить легко. Подправил.
13 апр 2018 в 6:01
n = -50178 sign = False if n < 0: n *= -1 sign = True while n >= 10: n //= 10 if sign: n *= -1 print(n) # -5
Отслеживать
48.6k 17 17 золотых знаков 56 56 серебряных знаков 100 100 бронзовых знаков
ответ дан 13 апр 2018 в 11:56
6,151 3 3 золотых знака 19 19 серебряных знаков 38 38 бронзовых знаков
«-5» не цифра, а число.
13 апр 2018 в 12:24
Если хочется использовать дополнительную переменную, то sign = abs(n) == n заменяет четыре строчки одной.
13 апр 2018 в 12:27
@Эникейщик главное, чтобы автор вопроса понимал, что делает код, а улучшать его можно до бесконечности. Цель — показать рабочий пример. Убрать знак несложно.
13 апр 2018 в 12:51
n = int(input()) while n > 9: n = n // 10 print(n)
Отслеживать
ответ дан 21 апр 2022 в 10:48
A. Tverskoy A. Tverskoy
добро пожаловать на Stack Overflow на русском! пожалуйста, постарайтесь оставлять чуть более развёрнутые ответы. дополнить ответ можно, нажав править
21 апр 2022 в 10:48
- python
- python-3.x
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.9.3159
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Условие
Дано положительное действительное число X. Выведите его первую цифру после десятичной точки.
Решение
x = float(input()) print(int(x * 10) % 10)
Добавить комментарий Отменить ответ
ЕГЭ на соточку для чайников
Прошу прощения, что так долго пропадал. Питошка вернулся, да еще и с группой в вконтакте, подписывайтесь. Помимо этого, на питошке откроется новая рубрика, в которой будут четкие объяснения всех заданий ЕГЭ и ОГЭ по информатике, внимательно прочитав которые, я уверен, вы улучшите свои баллы на экзамене
Как найти первую цифру числа в питоне
Найти сумму первой и последней цифры целого числа.
Вход. Одно целое 32-х разрядное число n , которое состоит не менее чем из двух цифр. Число n может быть положительным или отрицательным.
Выход. Вывести сумму первой и последней цифры числа n .
Пример входа
Пример выхода
РЕШЕНИЕ
Последняя цифра числа n равна last = n % 10.
Делим число n на 10, пока оно больше 9. Теперь n будет содержать первую цифру входного числа: first = n .
Находим и выводим сумму первой first и последней last цифры.
Решение при помощи строки. Прочитаем число как строку s. Если строка начинается с символа ‘-‘ (входное число отрицательно), то первая цифра числа находится в s[1]. Последнюю цифру находим, вычисляя длину строки.
Читаем входное число n . Если оно отрицательно, то поменяем знак числа.
Последняя цифра числа n равна last = n % 10.
Делим число n на 10, пока оно больше 9. Теперь n содержит первую цифру входного числа.
while (n > 9) n = n / 10;
Вычисляем и выводим ответ.
res = first + last;
Реализация алгоритма – строка
Входное число читаем в строку s.
Читаем входное число. Установим pos равным индексу, который указывает на первую цифру числа.
pos = (s[0] == ‘-‘ ) ? 1 : 0;
Находим сумму первой s[pos] – ‘0’ и последней s[strlen(s) – 1] – ‘0’ цифры.
sum = s[pos] + s[strlen(s)-1] — 2* ‘0’ ;
Java реализация
import java.util.*;
public class Main
public static void main(String[] args )
Scanner con = new Scanner(System. in );
char [] s = con .nextLine().toCharArray();
int pos = 0;
if ( s [0] == ‘-‘ ) pos = 1;
int res = s [ pos ] + s [ s . length — 1] — 2 * ‘0’ ;
System. out .println( res );
Python реализация
print ( int (n[ 0 ]) + int (n[- 1 ]))