Python中获取数字的第一位

要获取数字的第一位数:

  1. 使用 str() 类将数字转换为字符串。
  2. 访问索引 0 处的字符。
  3. 使用 int() 类将结果转换为整数。
num = 246810

first = int(str(num)[0])

print(first)  # 👉️ 2

我们使用 str() 类将整数转换为字符串,以便我们可以访问特定索引处的字符串。

Python 索引是从零开始的,因此字符串中的第一个字符的索引为 0,最后一个字符的索引为 -1 或 len(my_str) - 1

下一步是访问索引 0 处的字符以获取数字的第一位。

一旦我们有了第一个数字,我们就可以使用 int() 类将字符串转换为整数。

num = 246810

first = int(str(num)[0])

print(first)  # 👉️ 2

如果我们需要获取数字的前 N 位,可以使用相同的方法。

num = 246810

first2 = int(str(num)[:2])
print(first2)  # 👉️ 24

first3 = int(str(num)[:3])
print(first3)  # 👉️ 246

字符串切片的语法是 my_str[start:stop:step]

start 索引是包含的,而 stop 索引是排除的(最多,但不包括)。

切片 my_str[:2] 从索引 0 开始并上升到但不包括索引 2。

或者,我们可以使用递归。

def get_first_digit(number):
    if number < 10:
        return number
    return get_first_digit(number // 10)


print(get_first_digit(2468))  # 👉️ 2
print(get_first_digit(514))  # 👉️ 5
print(get_first_digit(14))  # 👉️ 1
print(get_first_digit(8))  # 👉️ 8

该函数检查数字是否小于 10,如果满足条件,则返回该数字。

否则,它返回调用自身的结果,其数字是 floor 除以 10。

整数的除法 / 产生一个浮点数,而整数的下除法 // 产生一个整数。

使用 floor 除法运算符的结果是数学除法的结果,将 floor() 函数应用于结果。

my_num = 50

print(my_num / 5)  # 👉️ 10.0 (float)
print(my_num // 5)  # 👉️ 10 (int)

我们用这个数字除以10,直到得到一个个位数,然后返回结果。

你选择哪种方法是个人偏好的问题。我会选择将数字转换为字符串,并在索引0处访问它,因为我觉得这很直观,而且更易读。