、在代码编辑窗口中,编写程序代码,以 “实验 2-1.py”文件名保存代码文件。 用户输入一个身份证号,显示该身份证号主的出生年月日,并显示号主年龄,性 别。如根据你输入的身份证信息,输出显示:你出生于 2004 年 1 月 1 日 你今年 19 岁 你的性别为女
时间: 2024-09-11 16:05:36 浏览: 62
要完成这样的任务,我们可以使用Python编程语言,并利用其内置的库来处理字符串和日期。以下是一个简单的Python脚本示例,它根据用户输入的身份证号码提取出生年月日信息、计算年龄以及性别。中国大陆的身份证号码长度为18位,其中第7到14位代表出生年月日,第17位代表性别(奇数为男性,偶数为女性),年龄可以通过当前日期减去出生年月日得出。
```python
# 实验2-1.py
import datetime
def extract_birthday_and_gender(id_number):
if len(id_number) == 18:
birthday = id_number[6:14]
gender_code = id_number[16]
gender = '男' if int(gender_code) % 2 != 0 else '女'
return birthday, gender
else:
return None, None
def calculate_age(birthday):
today = datetime.date.today()
birth_date = datetime.datetime.strptime(birthday, '%Y%m%d').date()
age = today.year - birth_date.year - ((today.month, today.day) < (birth_date.month, birth_date.day))
return age
def main():
id_number = input("请输入你的身份证号码:")
birthday, gender = extract_birthday_and_gender(id_number)
if birthday and gender:
birth_year, birth_month, birth_day = map(int, birthday[:4]), int(birthday[4:6]), int(birthday[6:8])
print(f"你出生于 {birth_year} 年 {birth_month} 月 {birth_day} 日")
print(f"你今年 {calculate_age(birthday)} 岁")
print(f"你的性别为{gender}")
else:
print("输入的身份证号码格式不正确,请输入18位身份证号码。")
if __name__ == "__main__":
main()
```
这段代码首先定义了两个辅助函数`extract_birthday_and_gender`和`calculate_age`,分别用于从身份证号码中提取出生年月日和性别信息,以及计算年龄。`main`函数负责获取用户输入的身份证号码,并调用这些辅助函数来显示结果。
阅读全文