3

这是我的问题。我有各种长度不同的整数输入,但我只想打印某些数字前缀。前缀范围是 20000-20150 所有五位数字。到目前为止,我有:

print 20000 <= prefix <= 20150

这很好,但是我如何使用 Python 在数字中找到或捕获前缀“20000”。

示例:20000201501

使用下面的代码将不起作用,在这种情况下,因为有两个实例存在前缀值,我只想要第一个前缀。

obj = 20000201501
if prefix in obj
    print prefix 
4

3 回答 3

1

您可以将对象设为字符串(使用str),将前 5 个字符切掉(作为前缀),然后将其转换回整数(使用int):

 prefix = int(str(obj)[:5])
于 2012-10-09T15:24:51.580 回答
1

很简单:

>>> num = 20000201501
>>> print int(str(num)[:5])
20000

所以,你需要这样的东西:

def prefix(num):
    return int(str(num)[:5])

print 20000 < prefix(20000201501) < 20150
于 2012-10-09T15:25:22.710 回答
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])
于 2012-10-09T15:25:07.170 回答