python 模拟贷款卡号生成规则过程解析


Posted in Python onAugust 30, 2019

前言

笔者在测试某web系统的过程中,需要用到“贷款卡号”,且此贷款卡号仅能使用一次,保存过后下一次无法再次使用相同的卡号。

遂决定依据它的生成规则,自己写一段代码来实现。

同时为了方便起见,贷款卡的前三位默认用数字来实现。

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 random

power = [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后的余数再加1
last_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 相关文章推荐
详解C++编程中一元运算符的重载
Jan 19 Python
Python-嵌套列表list的全面解析
Jun 08 Python
TensorFlow中权重的随机初始化的方法
Feb 11 Python
python中matplotlib的颜色及线条控制的示例
Mar 16 Python
解决pycharm运行时interpreter为空的问题
Oct 29 Python
python语言基本语句用法总结
Jun 11 Python
python中字符串数组逆序排列方法总结
Jun 23 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
Dec 23 Python
Python selenium抓取虎牙短视频代码实例
Mar 02 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
Apr 25 Python
解决python3输入的坑——input()
Dec 05 Python
python Scrapy框架原理解析
Jan 04 Python
Python之数据序列化(json、pickle、shelve)详解
Aug 30 #Python
python采集百度搜索结果带有特定URL的链接代码实例
Aug 30 #Python
python获取Linux发行版名称
Aug 30 #Python
python实现ip地址查询经纬度定位详解
Aug 30 #Python
Django 对IP访问频率进行限制的例子
Aug 30 #Python
关于Python3 类方法、静态方法新解
Aug 30 #Python
Python 获取指定文件夹下的目录和文件的实现
Aug 30 #Python
You might like
Linux下将excel数据导入到mssql数据库中的方法
2010/02/08 PHP
WordPress中自定义后台管理界面配色方案的小技巧
2015/12/29 PHP
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
2011/09/26 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
2014/01/10 Javascript
常用的JS验证和函数汇总
2014/12/23 Javascript
JavaScript中Cookies的相关使用教程
2015/06/04 Javascript
jquery validate.js表单验证入门实例(附源码)
2015/11/10 Javascript
基于JavaScript实现屏幕滚动效果
2017/01/18 Javascript
使用Require.js封装原生js轮播图的实现代码
2017/06/15 Javascript
三分钟学会用ES7中的Async/Await进行异步编程
2018/06/14 Javascript
生成无限制的微信小程序码的示例代码
2019/09/20 Javascript
vue选项卡切换登录方式小案例
2019/09/27 Javascript
解决vue admin element noCache设置无效的问题
2019/11/12 Javascript
vue中的 $slot 获取插槽的节点实例
2019/11/12 Javascript
[39:07]LGD vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
[31:55]完美世界DOTA2联赛循环赛 IO vs GXR BO2第一场 11.04
2020/11/05 DOTA
布同 统计英文单词的个数的python代码
2011/03/13 Python
python获得图片base64编码示例
2014/01/16 Python
Python3实现连接SQLite数据库的方法
2014/08/23 Python
python函数的5种参数详解
2017/02/24 Python
Python配置mysql的教程(推荐)
2017/10/13 Python
对numpy的array和python中自带的list之间相互转化详解
2018/04/13 Python
python中的数据结构比较
2019/05/13 Python
我们为什么要减少Python中循环的使用
2019/07/10 Python
Python3内置模块之base64编解码方法详解
2019/07/13 Python
pandas DataFrame的修改方法(值、列、索引)
2019/08/02 Python
python定时任务 sched模块用法实例
2019/11/04 Python
Django查询优化及ajax编码格式原理解析
2020/03/25 Python
pandas创建DataFrame的7种方法小结
2020/06/14 Python
高中校园广播稿
2014/10/21 职场文书
质检员岗位职责
2015/02/03 职场文书
安全保证书怎么写
2015/02/28 职场文书
2015年妇联工作总结范文
2015/04/22 职场文书
学习经验交流会策划书
2015/11/02 职场文书
九年级英语教学反思
2016/02/15 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书