这是我的问题。我有各种长度不同的整数输入,但我只想打印某些数字前缀。所有五位数的前缀范围均为20000-20150。到目前为止,我有:
print 20000 <= prefix <= 20150
这很好,但如何使用Python在数字中找到或捕获前缀'20000'。
示例:20000201501
使用下面的代码不起作用,在这种情况下,因为有两个实例存在前缀的值,我只想要第一个前缀。
obj = 20000201501
if prefix in obj
print prefix
答案 0 :(得分:1)
您可以将对象设为字符串(使用str
),将前5个字符切片(作为前缀),然后将其转换回整数(使用int
):< / p>
prefix = int(str(obj)[:5])
答案 1 :(得分:1)
非常简单:
>>> num = 20000201501
>>> print int(str(num)[:5])
20000
所以,你需要这样的东西:
def prefix(num):
return int(str(num)[:5])
print 20000 < prefix(20000201501) < 20150
答案 2 :(得分:0)
def valid_prefix(number):
return 20000 <= int(number) <= 20150
#obj is string:
obj = "20000201501"
print valid_prefix(obj[:5])
#obj is number:
obj = 20000201501
print valid_prefix(str(obj)[:5])