以下是我对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码

posted on 2025-02-12 10:14  泛旧的背包  阅读(1)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek-R1本地部署如何选择适合你的版本?看这里
· 开源的 DeepSeek-R1「GitHub 热点速览」
· 传国玉玺易主,ai.com竟然跳转到国产AI
· 揭秘 Sdcb Chats 如何解析 DeepSeek-R1 思维链
· 自己如何在本地电脑从零搭建DeepSeek!手把手教学,快来看看! (建议收藏)



点击右上角即可分享
微信分享提示