车辆识别码VIN生成小工具

打印 上一主题 下一主题

主题 827|帖子 827|积分 2481

以下是我对vin规则理解之后自己编写的生成vin码的代码 分享
  1. import random
  2. def generate_vin():
  3.     characters = "0123456789ABCDEFGHJKLMNPRSTUVWXYZ"
  4.     weights = [8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2]
  5.     vin = ""
  6.     for i in range(17):
  7.         char = random.choice(characters)
  8.         vin += char
  9.     # 把生成的字符串含有字母的全部转换成对应的数字
  10.     translation_table = str.maketrans('ABCDEFGHJKLMNPRSTUVWXYZ', '12345678123457923456789')
  11.     # 要替换的字符串
  12.     text = vin
  13.     # 使用 translate() 方法进行替换
  14.     result = text.translate(translation_table)
  15.     # 把返回的支付穿转化成列表
  16.     lis1 = list(result)
  17.     # 把列表中的字符串类型转化成整数型
  18.     weights_int = [int(x) for x in lis1]
  19.     # 把个列表的字分别进行相乘求和
  20.     summed = list(map(lambda x, y: x * y, weights_int, weights))
  21.     summ1 = sum(list(summed)) % 11
  22.     # 判断当余数等于10的时使用“x”替代
  23.     if summ1 == 10:
  24.         summ1 = 'X'
  25.     # 在第九位插入余数
  26.     result = text[:8] + str(summ1) + text[9:]
  27.     return result
  28. # 生成 10 条 VIN 码
  29. vin_list = []
  30. for _ in range(10):
  31.     vin = generate_vin()
  32.     vin_list.append(vin)
  33. # 打印生成的 10 条 VIN 码
  34. for vin in vin_list:
  35.     print(vin)
复制代码
以下是我使用该代码批量生成的vin码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

灌篮少年

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表