杭高OJ-1152 身份证信息读取

题目要求:从身份证中读取相关信息,提取身份证中的出生日期、性别、生日的星期

解题思路:先从身份证(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]+"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值