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的框架中一些会话程序的管理
Apr 20 Python
Python实现的FTP通信客户端与服务器端功能示例
Mar 28 Python
对python pandas 画移动平均线的方法详解
Nov 28 Python
pyhanlp安装介绍和简单应用
Feb 22 Python
Python实现获取系统临时目录及临时文件的方法示例
Jun 26 Python
常用python爬虫库介绍与简要说明
Jan 25 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
Feb 12 Python
Pytorch .pth权重文件的使用解析
Feb 14 Python
基于Python3读写INI配置文件过程解析
Jul 23 Python
详解Python requests模块
Jun 21 Python
基于Pygame实现简单的贪吃蛇游戏
Dec 06 Python
OpenCV项目实践之停车场车位实时检测
Apr 11 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
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
2011/10/29 PHP
介绍一些PHP判断变量的函数
2012/04/24 PHP
PHP内存使用情况如何获取
2015/10/10 PHP
windows8.1下Apache+Php+MySQL配置步骤
2015/10/30 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
2020/12/30 PHP
JS完成代码前最好对其做5件事
2013/04/07 Javascript
JavaScript实现获取dom中class的方法
2015/02/09 Javascript
js全选实现和判断是否有复选框选中的方法
2015/02/17 Javascript
jquery制作多功能轮播图插件
2015/04/02 Javascript
jquery制作图片时钟特效
2020/03/30 Javascript
location.hash保存页面状态的技巧
2016/04/28 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
2016/10/19 Javascript
JS实现微信弹出搜索框 多条件查询功能
2016/12/13 Javascript
AngularJS日期格式化常见操作实例分析
2018/05/17 Javascript
详解vue-router数据加载与缓存使用总结
2018/10/29 Javascript
微信小程序实现简单跑马灯效果
2020/05/26 Javascript
微信小程序云开发实现数据添加、查询和分页
2019/05/17 Javascript
vue实现固定位置显示功能
2019/05/30 Javascript
Element ui 下拉多选时新增一个选择所有的选项
2019/08/21 Javascript
JS正则表达式验证密码强度
2020/03/18 Javascript
一篇文章看懂JavaScript中的回调
2021/01/05 Javascript
Python实现对象转换为xml的方法示例
2017/06/08 Python
详解如何在python中读写和存储matlab的数据文件(*.mat)
2018/02/24 Python
python 每天如何定时启动爬虫任务(实现方法分享)
2018/05/21 Python
Django如何将URL映射到视图
2019/07/29 Python
python 三元运算符使用解析
2019/09/16 Python
详解python 内存优化
2020/08/17 Python
简单的HTML5初步入门教程
2015/09/29 HTML / CSS
有趣的广告词
2014/03/18 职场文书
公司开业庆典策划方案
2014/06/04 职场文书
企业口号大全
2014/06/12 职场文书
应届生找工作求职信
2014/06/24 职场文书
领导班子遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
交通局领导班子群众路线教育实践活动对照检查材料思想汇报
2014/10/09 职场文书
实习指导老师意见
2015/06/04 职场文书
nginx服务器的下载安装与使用详解
2021/08/02 Servers