千家信息网

python怎么模拟贷款卡号生成规则

发表于:2024-10-20 作者:千家信息网编辑
千家信息网最后更新 2024年10月20日,今天小编给大家分享一下python怎么模拟贷款卡号生成规则的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我
千家信息网最后更新 2024年10月20日python怎么模拟贷款卡号生成规则

今天小编给大家分享一下python怎么模拟贷款卡号生成规则的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

1. 生成规则如下:

贷款卡编码一共有16位,最后两位是校验位

整个贷款卡编码的规则如下:

前三位:分别为数字或者大写英文字母

第四位到第十四位:分别为数字

后两位的校验码为

前十四位乘以权重相加后除以97后的余数再加1后得到的数字,

如果此数字为个位数,前面还需要补一个零

前十四位编码对应的权重为1,3,5,7,11,2,13,1,1,17,19,97,23,29

如果某一位为字母,则需要将此字母转换为数字,A转为为10,B转为为11,以此类推。

2. python代码如下:

import randompower = [1,3,5,7,11,2,13,1,1,17,19,97,23,29] #权重arr = []sum = 0#随机生成前14位并保存在列表arr中for i in range(14):  value = random.randint(0,9)  arr.append(value)#前十四位乘以权重相加for j in range(14):  value = arr[j] * power[j]  sum = sum + value#除以97后的余数再加1last_two = sum % 97 + 1#如果此数字为个位数,前面还需要补一个零if last_two>10:  shiwei = last_two // 10  gewei = last_two % 10  arr.append(shiwei)  arr.append(gewei)else:  shiwei = 0  gewei = last_two  arr.append(shiwei)  arr.append(gewei)#输出贷款卡号print("loanCardNo: ",end="")for i in range(0,16):  print(arr[i],end="")

以上就是"python怎么模拟贷款卡号生成规则"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

0