Как взять N-ю цифру числа в python

Я хочу взять N-ю цифру из N-значного числа в python. Например:

number = 9876543210
i = 4
number[i] # should return 6

Как я могу сделать что-то подобное в Python? Должен ли я сначала изменить его на string, а затем изменить его на int для вычисления?

3 ответов


сначала обработайте число как строку

number = 9876543210
number = str(number)

затем, чтобы получить первую цифру:

number[0]

четвертая цифра:

number[3]

EDIT:

это вернет цифру как символ, а не как число. Чтобы преобразовать его обратно, используйте:

int(number[0])

вы можете сделать это с помощью методов целочисленного деления и остатка

def get_digit(number, n):
    return number // 10**n % 10

get_digit(987654321, 0)
# 1

get_digit(987654321, 5)
# 6

на // делает целочисленное деление в степени десять, чтобы переместить цифру в позицию единиц, затем % возвращает остаток после деления на 10. Обратите внимание, что нумерация в этой схеме использует нулевую индексацию и начинается с правой стороны номера.


Ok, прежде всего, используйте функцию 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'