在Python中查找个位、十位、百位和千位
Find the ones, tens, hundreds and thousands digits in Python
要找到个位、十位、百位和千位:
- 使用该类
str()
将数字转换为字符串。 - 使用字符串切片来反转数字。
- 遍历字符串并返回每个数字。
主程序
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]
.
我们指定了一个step
of-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
。
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: