以下是我对vin规则理解之后自己编写的生成vin码的代码 分享
- import random
- def generate_vin():
- characters = "0123456789ABCDEFGHJKLMNPRSTUVWXYZ"
- weights = [8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2]
- vin = ""
- for i in range(17):
- char = random.choice(characters)
- vin += char
- # 把生成的字符串含有字母的全部转换成对应的数字
- translation_table = str.maketrans('ABCDEFGHJKLMNPRSTUVWXYZ', '12345678123457923456789')
- # 要替换的字符串
- text = vin
- # 使用 translate() 方法进行替换
- result = text.translate(translation_table)
- # 把返回的支付穿转化成列表
- lis1 = list(result)
- # 把列表中的字符串类型转化成整数型
- weights_int = [int(x) for x in lis1]
- # 把个列表的字分别进行相乘求和
- summed = list(map(lambda x, y: x * y, weights_int, weights))
- summ1 = sum(list(summed)) % 11
- # 判断当余数等于10的时使用“x”替代
- if summ1 == 10:
- summ1 = 'X'
- # 在第九位插入余数
- result = text[:8] + str(summ1) + text[9:]
- return result
- # 生成 10 条 VIN 码
- vin_list = []
- for _ in range(10):
- vin = generate_vin()
- vin_list.append(vin)
- # 打印生成的 10 条 VIN 码
- for vin in vin_list:
- print(vin)
复制代码 以下是我使用该代码批量生成的vin码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |