生成随机vin号

工作中测试时需要用到vin号,而系统中对vin的规则又有校验,在网上查询到vin的规则后写了一个小脚本,用来生成随机vin号。这里vin只是在规则上满足vin的逻辑,但并不是严格按照现实中的标准来生成的。

import random
import string
import re
import pyperclipvalid_str = re.sub(r'[IOQ]', '', (string.digits + string.ascii_uppercase))      # 车架号可用的字符串
str_weight = dict(zip(valid_str, '012345678912345678123457923456789'))      # 各个字符串所对应的值,用于校验计算
index_weight = dict(zip(list(range(16)), [8, 7, 6, 5, 4, 3, 2, 10, 9, 8, 7, 6, 5, 4, 3, 2]))    # vin各个位数的加权系数def get_vin():"""生成随机vin"""vin_16 = random.choices(valid_str, k=16)    # 随机生成16位数,第9位是通过加权计算后插入ninth = sum(map(lambda x: int(index_weight[x[0]]) * int(str_weight[x[1]]), enumerate(vin_16))) % 11     # 进行加权计算if ninth == 10:ninth = 'X'vin_16.insert(8, str(ninth))return ''.join(vin_16)def write_in_csv(num):"""批量生成vin号并写入文档中:param num: vin数量:return:"""with open(r'.\random_vin.csv', 'w') as f:f.write('vin')f.write('\n')for i in range(num):f.write(get_vin())f.write('\n')if __name__ == '__main__':while True:a = input()vin = get_vin()print(vin)pyperclip.copy(vin)     # 复制到剪贴板中可以直接复制

2021-05-15 随机生成车架号相关推荐

  1. rk3288_android7.1 随机生成SN号问题

    问题现象 擦除flash升级后,SN号会被清空,不方便调试:希望擦除flash升级后,可以随机生成SN号 解决方案: system/core/drmservice/drmservice.c 中 SER ...

  2. java随机生成订单号

    package com.aaa.utils;import org.springframework.stereotype.Component;/*** @项目名:ppp* @类名: DateUtil.j ...

  3. 随机生成卡号,并要求唯一

    思想:判断是否重复,需要遍历系统中所有用户的卡号,如果系统中已经存在该卡号,需要再随机生成一次,直到随机生成的卡号系统中不存在,会用到死循环. public class RandomCardId {p ...

  4. 2021.05.15继承球体和圆柱体

    原文链接: 自动车 手动车:https://codeeggs.github.io/2021/05/15/2021.05.15%E7%BB%A7%E6%89%BF%E7%90%83%E4%BD%93%E ...

  5. 2021.05.15智能风控峰会之流量反作弊论坛-论坛笔记

    在这个新媒体时代,各种低俗广告和短视频.造谣.刷单.违法曝光等内容不断触及法律底线,而人工审核的传统方式已经无法应付机器爆发式生成的内容量,因此,如何做好流量反作弊方面的智能风控一跃成为热点.     ...

  6. mysql生成18位纯数字id_MySQL实现注册时随机生成数字id,类似于注册qq时随机生成qq号...

    首先根据长度需求通过java的随机函数java.util.Random生成随机数,如希望得到5位随机id,则可以使用如下语句 int r = (new Random()).nextInt()%8999 ...

  7. python生成车架号

    import random def random_vin():# 内容的权值content_map = {'A': 1, 'B': 2, 'C': 3, 'D': 4, 'E': 5,'F': 6, ...

  8. 查看树莓派处理器型号.2021.05.15

    Raspbian GNU/Linux 10 (buster) 查看树莓派处理器型号 cat /proc/cpuinfo 不是太准确 比较准确的查看方式是直接查看板子芯片上的刻印

  9. python彩票生成_python3学习--随机生成密码、随机生成彩票号

    ################随机生成密码##################### 1.写一个函数:函数的功能是生成一批密码,存到文件里面 def gen_password(num): #num ...

  10. 【0729作业】随机生成20个手机号码

    需求:随机生成二十个手机号码 1 package com.random; 2 3 import java.util.Scanner; 4 5 public class Phone { 6 static ...

最新文章

  1. Bridge Pattern
  2. 聊聊storm的LoggingClusterMetricsConsumer
  3. mac OS下显示.htaccess等隐藏文件
  4. 用twisted为未来安排任务(Scheduling tasks for the future
  5. Canopy聚类算法分析
  6. 使用 SAP Business Application Studio 创建 Fiori Elements 应用显示 OData 服务的数据
  7. Spark SQL(一)之简介
  8. oracle 存储过程打印语句,oracle学习之第一个存储过程:打印Hello World
  9. java判断是否换行_如何检测java中的换行符
  10. 交流信号叠加直流偏置_接收无线电信号利器,一款无线有源环形收音机接收天线放大器...
  11. MIUI Android p手势,小米8 Android P内测9月开启
  12. HDU 5491 The Next
  13. ros melodic控制真实机械臂之openmanipulator参考
  14. 【前端】创建元素并插入到现有文档
  15. Windows运行及cmd常用命令
  16. java面试英语自我介绍_程序员面试英文自我介绍
  17. 计算机自动重启快捷键,什么是笔记本电脑重启快捷键
  18. linux limits.conf 生效,linux修改limits.conf不生效
  19. Team System:基本 Power Tool 工具。
  20. Cesium专栏-空间分析之坡度分析(附源码下载)

热门文章

  1. vue 下载文件 前后端代码亲测有效
  2. C语言编译警告和报错整理-持续更新
  3. mmd的ray渲染是怎么回事呢
  4. speedoffice(PPT)怎么将背景设置为渐变的背景
  5. 虚拟机ubantu如何扩展系统内存
  6. 网易公开课 IPHONE开发
  7. 石墨烯 量子计算机,带石墨烯的量子计算
  8. Macbook二三事
  9. thinkpad使用u盘启动
  10. 如何Diskgenius将U盘分区