请编写一段程序,要求输入身份证信息(可以判断输入信息是否为18位,前17位是否为数字字符,最后一位若是字母,是否为X),然后从中获取出生年份,通过
时间: 2023-05-26 22:03:12 浏览: 142
使用汇编语言编写,判断输入的字符是数字还是字母,使用DOSBox验证
身份证信息获取出生日期,并输出。
代码如下:
```python
id_number = input("请输入您的身份证号码:")
# 判断身份证号是否为18位
if len(id_number) != 18:
print("身份证号码长度不正确,请重新输入!")
else:
# 判断前17位是否为数字字符
if not id_number[:17].isdigit():
print("身份证号码前17位格式不正确,请重新输入!")
else:
# 判断最后一位是否为字母X
if not (id_number[-1].isdigit() or id_number[-1] == "X"):
print("身份证号码最后一位格式不正确,请重新输入!")
else:
# 获取出生年份
birth_year = int(id_number[6:10])
# 获取出生月份
birth_month = int(id_number[10:12])
# 获取出生日
birth_day = int(id_number[12:14])
# 输出出生日期
print("您的出生日期为:{}年{}月{}日".format(birth_year, birth_month, birth_day))
```
该程序会首先判断输入的身份证号码长度是否为18位,如果不是则输出相应的错误提示;如果是18位,则判断前17位是否为数字字符,如果不是也会输出错误提示;接着判断最后一位是否为字母X,如果不是同样输出错误提示;最后获取出生年月日并输出。
阅读全文