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 相关文章推荐
Python datetime时间格式化去掉前导0
Jul 31 Python
Python使用xlwt模块操作Excel的方法详解
Mar 27 Python
使用pycharm生成代码模板的实例
May 23 Python
python 判断参数为Nonetype类型或空的实例
Oct 30 Python
使用python获取(宜宾市地震信息)地震信息
Jun 20 Python
python正则表达式匹配不包含某几个字符的字符串方法
Jul 23 Python
Django中提示消息messages的设置方式
Nov 15 Python
python创建学生管理系统
Nov 22 Python
在tensorflow中实现屏蔽输出的log信息
Feb 04 Python
Python使用jupyter notebook查看ipynb文件过程解析
Jun 02 Python
python 窃取摄像头照片的实现示例
Jan 08 Python
Python如何识别银行卡卡号?
Jun 10 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
Windows下安装PHP单元测试环境PHPUnit图文教程
2014/10/24 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
jquery全选/全不选/反选另一种实现方法(配合原生js)
2013/04/07 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
QQ登录背景闪动效果附效果演示源码下载
2015/09/22 Javascript
JS常见问题之为什么点击弹出的i总是最后一个
2016/01/05 Javascript
Bootstarp基本模版学习教程
2017/02/01 Javascript
Vue使用mixins实现压缩图片代码
2018/03/14 Javascript
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
Angular6中使用Swiper的方法示例
2018/07/09 Javascript
微信小程序与后台PHP交互的方法实例分析
2018/12/10 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
2019/10/29 Javascript
JS前端广告拦截实现原理解析
2020/02/17 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
听歌识曲--用python实现一个音乐检索器的功能
2016/11/15 Python
PyCharm在win10的64位系统安装实例
2017/11/26 Python
Python实现将doc转化pdf格式文档的方法
2018/01/19 Python
Python实现爬取并分析电商评论
2020/06/19 Python
Django websocket原理及功能实现代码
2020/11/14 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
css3学习系列之移动属性详解
2017/07/04 HTML / CSS
波兰在线香水店:Perfumy.pl
2019/08/12 全球购物
公务员职业生涯规划书范文  
2014/01/19 职场文书
亚运会口号
2014/06/20 职场文书
药剂专业求职信
2014/06/20 职场文书
公司授权委托书格式范文
2014/10/02 职场文书
查摆问题整改措施
2014/10/24 职场文书
道德模范事迹材料
2014/12/20 职场文书
财务个人年度总结范文
2015/02/26 职场文书
珍惜时间的诗歌赏析
2019/08/23 职场文书
导游词之蜀山胜景瓦屋山
2019/11/29 职场文书
python装饰器代码解析
2022/03/23 Python
pnpm对npm及yarn降维打击详解
2022/08/05 Javascript