题目要求:从身份证中读取相关信息,提取身份证中的出生日期、性别、生日的星期
解题思路:先从身份证(idn)中取第7-14位为生日,再根据第17位推断性别(男单女双,可用int(idn[16])%2实现),再尝试推断生日的星期。
解法1:蔡勒公式,定义一个蔡勒公式函数week,读取身份证号码,返回星期对应数字(0-6:日一二三四五六)
```py
def week(string):
c=int(string[6:8])
y=int(string[8:10])
m=int(string[10:12])
d=int(string[12:14])
if m<3:
m+=12
y-=1
if y<0:
y+=100
c-=1
w=y+int(y/4)+int(c/4)-(2*c)+int(26*(m+1)/10)+d-1
return w%7
idn=input()
weeklst=["日","一","二","三","四","五","六"]
genderlst=["女","男"]
print("您的出生日期为"+idn[6:10]+"年"+idn[10:12]+"