一个Python编程

img


这是一道编程题目,想知道这个题目如何编写(感谢1111111111111111111111111111111111111111111111111111111111111111111111)

import re

def validate_id_number(id_number):
    pattern = re.compile(r'^\d{17}[\dXx]$')
    if not pattern.match(id_number):
        return False
    factors = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1]
    check_code_dict = {0: '1', 1: '0', 2: 'X', 3: '9', 4: '8', 5: '7', 6: '6', 7: '5', 8: '4', 9: '3', 10: '2'}
    check_code = check_code_dict[sum([int(id_number[i]) * factors[i] for i in range(17)]) % 11]
    return check_code.upper() == id_number[-1].upper()

def get_birthday_and_gender(id_number):
    birthday = id_number[6:14]
    year = int(birthday[0:4])
    month = int(birthday[4:6])
    day = int(birthday[6:8])

    if id_number[16] in ['0', '1', '2', '3', '4', '5']:
        century = '19'
    else:
        century = '20'

    gender_code = int(id_number[16])
    if gender_code % 2 == 0:
        gender = '女'
    else:
        gender = '男'

    birthday = century + str(year) + '-' + str(month) + '-' + str(day)

    return birthday, gender


id_number = input('请输入18位身份证号码:')

if validate_id_number(id_number):
    birthday, gender = get_birthday_and_gender(id_number)
    print('生日:', birthday)
    print('性别:', gender)
else:
    print('身份证号码不合法')

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7771726
  • 这篇博客也不错, 你可以看下用Python自动识别验证码(完整教程,陆续更新12306验证码识别,抢票)
  • 除此之外, 这篇博客: Python制作短信发送程序中的 二、准备:注册腾讯云账号并配置短信功能 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    (1)注册腾讯云账号

    登录腾讯云网址 https://cloud.tencent.com/ 注册。

    (2)获取AppID、AppKey

    在短信功能页面下,从应用管理>应用列表,获取ID、Key。

    (3)创建签名

    在短信功能页面下,进入国内短信>签名管理,创建签名。

    (4)创建正文模板

    在短信功能页面下,进入国内短信>正文模板管理,创建模版。并获取模板ID备用。

  • 您还可以看一下 程序员学院老师的Python数据分析与挖掘从零开始到实战课程中的 数据增删改查(二)小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    我非常乐意帮助你编写Python编程题目。以下是一些提示和指导:

    1. 确定题目类型和难度级别。你可以编写练习基本编程概念和语法的简单问题,也可以编写更复杂的问题,在其中应用函数、模块、类等高级概念。确保在编写题目之前,你要对目标学生的编程水平有清晰的了解。

    2. 选择适当的题目材料。这个步骤仅适用于特定类型的题目(比如写爬虫),但不管什么类型,材料的选择都十分重要。比较好的方式就是:从你自己的编程经验中选取一些实用的场景,然后编写对应问题,例如:建立一个联系人列表,制作一个文本编辑器和计算器等。

    3. 设计题目。在这个步骤中,你需要专注于设计具体的问题,并注意以下几点:

    3.1 编写明确而详细的题目要求。这些要求应该让学生了解如何开始,并具体介绍需要完成的任务。

    3.2 确定题目难度。你可以提供一些提示或建议,但最好不要直接给出答案。

    3.3 在题目中留出一些自由度。这可以使学生在编写代码时更有创意,同时也可以帮助他们理解编程中不同的解决方案。

    1. 编写示例代码。提供示例代码可以帮助学生更好地理解题目,并开发出更好的解决方案。在编写示例代码时,应该遵循良好的编码风格和最佳实践。

    2. 准备测试和反馈机制。在编写问题的同时,你需要设置测试和反馈机制,确保学生能够及时了解自己的进展情况并获得实时的反馈。

    以上是我建议的一些步骤和技巧,希望能够帮助你更好地开始Python编程之旅。如果需要进一步的指导,可以随时联系我!


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^