这篇文章主要介绍了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怎么实现小程序自动生成测试数据”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。