在Python中获取数字的前两位
要获取数字的前两位数:
- 使用
str()
类将数字转换为字符串。 - 使用字符串切片来选择字符串的前 2 个字符。
- 使用
int()
类将结果转换为整数。
number = 13579
first_2 = int(str(number)[:2])
print(first_2) # 👉️ 13
我们使用 str()
函数将整数转换为字符串,因此我们可以使用字符串切片。
切片 my_str[:2]
从索引 0 开始并上升到但不包括索引 2。
字符串切片的语法是 my_str[start:stop:step]
。
start
索引是包含性的,而stop
索引是排他性的(直到,但不包括)。
Python 索引是从零开始的,因此字符串中的第一个字符的索引为 0,最后一个字符的索引为 -1 或
len(my_str) - 1
。
一旦我们有了前 2 位数字,我们就使用 int()
函数将字符串转换为整数。
number = 13579
first_2 = int(str(number)[:2])
print(first_2) # 👉️ 13
我们可以使用相同的方法来获取数字的前 N 位。
number = 13579
first_3 = int(str(number)[:3])
print(first_3) # 👉️ 135
first_4 = int(str(number)[:4])
print(first_4) # 👉️ 1357
或者,我们可以使用递归。
def get_first_two_digits(number):
if number < 100:
return number
return get_first_two_digits(number // 10)
print(get_first_two_digits(2468)) # 👉️ 24
print(get_first_two_digits(514)) # 👉️ 51
print(get_first_two_digits(95)) # 👉️ 95
print(get_first_two_digits(7)) # 👉️ 7
该函数检查数字是否小于 100,如果满足条件,则返回该数字。
否则,它返回调用自身的结果,其数字是 floor 除以 10。
整数除法
/
产生一个浮点数,而floor
除法//
产生一个整数。
使用 floor
除法运算符的结果是对结果应用 floor()
函数的数学除法。
my_num = 50
print(my_num / 5) # 👉️ 10.0 (float)
print(my_num // 5) # 👉️ 10 (int)
我们将数字除以 10,直到得到一个 2 位数字并返回结果。
选择哪种方法是个人喜好的问题。 我会继续将数字转换为字符串并使用字符串切片,因为我发现它非常直观且更具可读性。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。