在 Python 中查找个位、十位、百位和千位

在Python中查找个位、十位、百位和千位

Find the ones, tens, hundreds and thousands digits in Python

要找到个位、十位、百位和千位:

  1. 使用该类str()将数字转换为字符串。
  2. 使用字符串切片来反转数字。
  3. 遍历字符串并返回每个数字。
主程序
number = 3217 # ✅ Get ones, tens, hundreds and thousands ones = number % 10 print(ones) # 👉️ 7 tens = (number % 100) // 10 print(tens) # 👉️ 1 hundreds = (number % 1000) // 100 print(hundreds) # 👉️ 2 thousands = number // 1000 print(thousands) # 👉️ 3 # ----------------------------------------------------- # ✅ Get ones, tens, hundreds and thousands in a list result = [int(digit) for digit in str(number)[::-1]] print(result) # 👉️ [7, 1, 2, 3]

第一个示例使用数学来获取数字的个位、十位、百位和千位。

取模(%)
运算符返回第一个值除以第二个值的余数。

主程序
print(10 % 2) # 👉️ 0 print(10 % 4) # 👉️ 2

如果右侧的值为零,则运算符会引发异常
ZeroDivisionError

例如,为了得到这些,我们计算数字除以 10 的余数。

主程序
number = 3217 ones = number % 10 print(ones) # 👉️ 7 print(3217 - 321 * 10) # 👉️ 7

我们在接下来的例子中使用了楼层划分。

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

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

主程序
my_num = 50 print(my_num / 5) # 👉️ 10.0 (float) print(my_num // 5) # 👉️ 10 (int)

例如,为了得到千,我们将数字除以1000

主程序
number = 3217 thousands = number // 1000 print(thousands) # 👉️ 3

为了得到十位,我们计算除以该数字的余数100并将结果除以 10。

主程序
number = 3217 print(number % 100) # 👉️ 17 tens = (number % 100) // 10 print(tens) # 👉️ 1

同样,为了得到百位,我们计算数字除以的余数,1000然后将结果除以100

主程序
number = 3217 ones = number % 10 print(number % 1000) # 👉️ 217 hundreds = (number % 1000) // 100 print(hundreds) # 👉️ 2

使用列表推导式查找个位、十位、百位和千位

或者,您可以将数字转换为字符串并使用列表理解。

主程序
number = 3217 result = [int(digit) for digit in str(number)[::-1]] print(result) # 👉️ [7, 1, 2, 3]

我们使用str()类将数字转换为字符串,并使用 s字符串切片来反转字符串。

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

我们指定了一个stepof-1来反转字符串,并使用列表理解来迭代反转的字符串。

列表推导用于对每个元素执行某些操作或选择满足条件的元素子集。

该列表包含个位、十位、百位和千位的数字。

使用 while 循环查找个位、十位、百位和千位

或者,您可以使用while循环将数字除以 10,直到它设置为0

主程序
number = 3217 result = [] while number != 0: result.append(number % 10) number = number // 10 print(result) # 👉️ [7, 1, 2, 3]

我们计算个位、十位、百位和千位的数字,同时将数字除以直到10它被设置为0

额外资源

您可以通过查看以下教程来了解有关相关主题的更多信息: