python信用卡違約 Python信用卡驗證

2021-10-19 20:43:42 字數 1777 閱讀 4180

以下是luhn演算法(mod10 check)的步驟從右到左每隔兩位數。如果這個「翻倍」結果是兩位數,則將兩位數相加

得到乙個數字的數字。

現在將步驟1中的所有單個數字相加。

將信用卡號碼中從右到左的奇數字數相加。

將步驟2和步驟3的結果相加。

如果步驟4的結果可被10整除,則卡號有效;否則無效。

我的輸出應該是card number valid / invalid

3710293 invalid

5190990281925290 invalid

3716820019271998 valid

37168200192719989 invalid

8102966371298364 invalid

6823119834248189 valid

這是密碼。def checkseconddigits(num):

length = len(num)

sum = 0

for i in range(length-2,-1,-2):

number = eval(num[i])

number = number * 2

if number > 9:

strnumber = str(number)

number = eval(strnumber[0]) + eval(strnumber[1])

sum += number

return sum

def odd_digits(num):

length = len(num)

sumodd = 0

for i in range(length-1,-1,-2):

num += eval(num[i])

return sumodd

def c_length(num):

length = len(num)

if num >= 13 and num <= 16:

if num [0] == "4" or num [0] == "5" or num [0] == "6" or (num [0] == "3" and num [1] == "7"):

return true

else:

return false

def main():

filename = input("what is the name of your input file? ")

infile= open(filename,"r")

cc = (infile.readline().strip())

print(format("card number", "20s"), ("valid / invalid"))

print("------------------------------------")

while cc!= "exit":

even = checkseconddigits(num)

odd = odd_digits(num)

c_len = c_length(num)

tot = even + odd

if c_len == true and tot % 10 == 0:

print(format(cc, "20s"), format("valid", "20s"))

else:

print(format(cc, "20s"), format("invalid", "20s"))

num = (infile.readline().strip())

main()

信用卡違約率分析

使用網格搜尋的方式 coding utf 8 信用卡違約率分析 import pandas as pd from sklearn.model selection import learning curve,train test split,gridsearchcv from sklearn.prep...

python信用卡管理 python信用卡操作

python python開發 python語言 python信用卡操作 import datetime user dict dict 用來儲存使用者的賬號 註冊系統 def registered try print welcome to register atm system registered...

python信用卡管理 python信用卡操作

import datetime user dict dict 用來儲存使用者的賬號 註冊系統 def registered try print welcome to register atm system registered user input 請輸入您的賬號 registered pwd in...