从键盘上输入年份,查找该年份在身份证号中是否存在,如果存在,输出所在的索引,不存在,输出-1。
时间: 2024-10-17 20:08:32 浏览: 26
在处理这个问题时,我们需要了解身份证号码的基本结构。中国居民身份证号码通常由18位数字组成,分为三部分:前6位代表地区信息,接下来8位是出生日期,最后4位是顺序码加上校验码。对于输入的年份,我们关注的是第7到14位,这部分表示出生年份。
下面是一个简单的Python示例,通过字符串切片来检查输入的年份是否存在于身份证号的出生日期范围内:
```python
def check_year_in_id(id_number, input_year):
birth_years = id_number[6:14] # 提取出生年份部分
if int(input_year) >= int(birth_years[0]) and int(input_year) <= int(birth_years[-1]):
index_start = 6 + int(birth_years.index(str(input_year))) # 计算出生年份对应的索引位置
return index_start
else:
return -1
# 示例使用
id_to_check = "123456789012345678"
input_year = input("请输入年份: ")
result_index = check_year_in_id(id_to_check, input_year)
if result_index != -1:
print(f"找到,位于索引 {result_index}")
else:
print("未找到")
```
这个函数首先将身份证号的出生年份部分转换成整数列表,然后比较输入的年份是否在这个范围。如果在范围内,它会计算出输入年份在字符串中的起始索引;否则返回-1。
阅读全文