日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python 模擬貸款卡號(hào)生成規(guī)則過程解析

系統(tǒng) 2212 0

前言

筆者在測試某web系統(tǒng)的過程中,需要用到“貸款卡號(hào)”,且此貸款卡號(hào)僅能使用一次,保存過后下一次無法再次使用相同的卡號(hào)。

遂決定依據(jù)它的生成規(guī)則,自己寫一段代碼來實(shí)現(xiàn)。

同時(shí)為了方便起見,貸款卡的前三位默認(rèn)用數(shù)字來實(shí)現(xiàn)。

1. 生成規(guī)則如下:

貸款卡編碼一共有16位,最后兩位是校驗(yàn)位

整個(gè)貸款卡編碼的規(guī)則如下:

前三位:分別為數(shù)字或者大寫英文字母

第四位到第十四位:分別為數(shù)字

后兩位的校驗(yàn)碼為

前十四位乘以權(quán)重相加后除以97后的余數(shù)再加1后得到的數(shù)字,

如果此數(shù)字為個(gè)位數(shù),前面還需要補(bǔ)一個(gè)零

前十四位編碼對(duì)應(yīng)的權(quán)重為1,3,5,7,11,2,13,1,1,17,19,97,23,29

如果某一位為字母,則需要將此字母轉(zhuǎn)換為數(shù)字,A轉(zhuǎn)為為10,B轉(zhuǎn)為為11,以此類推。

2. python代碼如下:

            
import random

power = [1,3,5,7,11,2,13,1,1,17,19,97,23,29] #權(quán)重
arr = []
sum = 0

#隨機(jī)生成前14位并保存在列表arr中
for i in range(14):
  value = random.randint(0,9)
  arr.append(value)

#前十四位乘以權(quán)重相加
for j in range(14):
  value = arr[j] * power[j]
  sum = sum + value

#除以97后的余數(shù)再加1
last_two = sum % 97 + 1

#如果此數(shù)字為個(gè)位數(shù),前面還需要補(bǔ)一個(gè)零
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)

#輸出貸款卡號(hào)
print("loanCardNo: ",end="")
for i in range(0,16):
  print(arr[i],end="")
          

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 万山特区| 盐池县| 多伦县| 昆明市| 棋牌| 丰镇市| 布尔津县| 肥乡县| 江华| 灵台县| 英德市| 黄浦区| 启东市| 民和| 绍兴县| 宝清县| 泾源县| 巴彦淖尔市| 定陶县| 卢龙县| 台前县| 洛扎县| 乌拉特中旗| 宁波市| 普格县| 澜沧| 淮安市| 句容市| 大连市| 克什克腾旗| 长武县| 五寨县| 化德县| 玉田县| 资中县| 太和县| 武强县| 广安市| 望江县| 两当县| 诸暨市|