189 8069 5689

python怎么实现小程序自动生成测试数据

这篇文章主要介绍了python怎么实现小程序自动生成测试数据的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python怎么实现小程序自动生成测试数据文章都会有所收获,下面我们一起来看看吧。

创新互联自成立以来,一直致力于为企业提供从网站策划、网站设计、网站设计、成都网站设计、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。

方法一

def get_validate_checkout(id17):
    """获得校验码算法"""
    """十七位数字本体码权重"""
    weight = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
    """mod11,对应校验码字符值"""
    validate = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']
    sum = 0
    for i in range(0, len(id17)):
        sum = sum + int(id17[i])*weight[i]
    mode = sum % 11
    return validate[mode]

方法二
def get_random_idnumber():
    """产生随机可用身份证号,sex = 1表示男性,sex = 0表示女性"""
    """地址码产生"""
    id_number = "110108"
    """生日起止日期"""
    start, end = "1960-01-01", "1999-12-30"
    days = (datetime.datetime.strptime(end, "%Y-%m-%d") - datetime.datetime.strptime(start, "%Y-%m-%d")).days + 1
    birth_days = datetime.datetime.strftime(datetime.datetime.strptime(start, "%Y-%m-%d") + datetime.timedelta
                 (random.randint(0, days)), "%Y%m%d")
    id_number = id_number + str(birth_days)
    """顺序码"""
    for i in range(2):
        """最后一个值可以包括"""
        n = random.randint(0, 9)
        id_number = id_number + str(n)
    """性别码"""
    sex_id = random.randint(1, 2)
    id_number = id_number + str(sex_id)
    """校验码"""
    check_out = get_validate_checkout(id_number)
    id_number = id_number + str(check_out)
    return id_number

在方法二中的倒数第三行会调用方法一中已经定义好的方法:get_validate_checkout,get_validate_checkout方法主要是为了获得校验码的算法,方法二是真正生成身份证号码测试数据需要执行的小程序。

执行该小程序需首先导入相应的模块,例如:

import datetime

import random

3、身份证号码的生成规则有:地址码、顺序码、性别码、校验码,满足以上4个条件即可生成我们需要使用的身份证号码测试数据,再也不用百度去搜索啦,执行一次就生成一个自己想要的测试数据。因为小程序的执行的结果是以return返回的,所以想要看到这个生成的身份证号码,需要定义一个变量去接收或者将return修改为print,直接打印到控制台输出。

关于“python怎么实现小程序自动生成测试数据”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“python怎么实现小程序自动生成测试数据”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。


本文名称:python怎么实现小程序自动生成测试数据
标题URL:http://cdxtjz.com/article/iicjih.html

其他资讯