我是一个初级Python学习者,目前正在研究Luhn算法来检查信用卡验证。我写了大部分代码,但是我有两个错误,第一个是赋值前引用num。我得到的第二个是类型为'\io.TextIOWrapper'的对象没有len()。我们将非常感谢您的进一步帮助/指导。

以下是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()

python信用卡违约_Python信用卡验证相关推荐

  1. python信用卡违约_Python数据分析及可视化实例之银行信用卡违约预测(24)

    1.项目背景: 银行体系对于信用可违约进行预测,原始数据集如下: 2.分析步骤: (1)数据清洗(Data Cleaning) (2) 探索性可视化(Exploratory Visualization ...

  2. python信用卡管理_python信用卡操作

    import datetime user_dict = dict() # 用来存储用户的账号 # 注册系统: def registered(): try: print('welcome to regi ...

  3. python 数据校验_Python数据验证库(三)voluptuous

    继续记录最近学习的python数据验证工具. voluptuous与validator的使用比较相似,注意是validator,不是validators.validator和validators是两个 ...

  4. python网址正则表达式_python正则表达式验证ipv6地址

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. def ipv6_addr(addr): ''' Returns True if the ...

  5. python信用卡识别_python opencv实现信用卡的数字识别

    本项目利用python以及opencv实现信用卡的数字识别 前期准备 导入工具包 定义功能函数 模板图像处理 读取模板图像 cv2.imread(img) 灰度化处理 cv2.cvtColor(img ...

  6. 信用卡违约预测模型的开发思路

                                                               评分模型的数据多维性 目前以金融业为代表的各行各业使用的评分模型的原型都是基于美国 ...

  7. Java黑皮书课后题第6章:**6.31(金融应用:信用卡号的合法性验证)和**6.32 编写程序,提示用户输入一个long型整数的信用卡号码,显示这个数字是合法的还是非法的

    6.31(金融应用:信用卡号的合法性验证)编写程序,提示用户输入一个long型整数的信用卡号码,显示这个数字是合法的还是非法的 6.31题目 题目描述 破题 6.31代码 6.32 代码 运行实例 6 ...

  8. Javascript验证信用卡号、信用卡类型(最全最新)

    如果浏览不顺畅请到 原文章出处:https://www.sky8g.com/technology/2690/ 请注意可能会提示风险,这是csdn设置网站设置的问题,请放心访问,谢谢. 本篇文章是由SK ...

  9. 【实战】python以及opencv实现信用卡的数字识别

    本项目利用python以及opencv实现信用卡的数字识别 前期准备 导入工具包 定义功能函数 模板图像处理 读取模板图像 cv2.imread(img) 灰度化处理 cv2.cvtColor(img ...

最新文章

  1. spring中怎么访问MySQL过程_【FunnyBear的Java之旅 - Spring篇】7步连接MySQL
  2. jenkins如何实现重新发布历史构建记录里的版本
  3. 开源 免费 java CMS - FreeCMS1.2-标签 userList
  4. movzbl和movsbl
  5. Python中JSON的基本使用
  6. 前端学习(2942):vue的本地注册
  7. Express Session 的基本使用
  8. OpenCV学习——绘制图像灰色直方图
  9. C语言--课程管理信息系统
  10. 张柏芝谢霆锋喜得贵子
  11. 《黑白团团队》第八次团队作业:Alpha冲刺 第五天
  12. 恒压板框过滤实验数据处理_陕西延安GPJ120配件设备,陕西加压过滤机改造
  13. 美团网2015秋季校园招聘面试题(下)
  14. HBase学习-----javaAPI详细教程
  15. 黑苹果引导工具 Clover 配置详解及Clover Configurator使用
  16. 【webpack系列】webpack小老弟打包大项目
  17. java技术及ssh框架和jsp技术的介绍 外文文献及翻译_java技术及ssh框架和jsp技术的介绍 外文文献及翻译.doc...
  18. Exploit开发系列教程-Exploitme1 (“ret eip” overwrite) More space on stack
  19. 手把手教你汉化Windows Phone 7程序(xap包汉化)
  20. react 二维码生成并下载qrcode.react

热门文章

  1. 查找计算机 域服务不可用,win7系统打印文件提示Active Directory域服务不可用解决方法...
  2. python3 ocr_OCR识别-python3.5版
  3. 基于消失点的相机自标定(2)
  4. 剑指offer:面试题05. 替换空格
  5. c++11 function
  6. GLFW--Getting started
  7. vue获取“分享给朋友”按钮点击状态及自定义分享内容接口
  8. libcurl多线程下载开发过程中需要注意的一个问题
  9. linux kernel内存回收机制
  10. C++ 多线程:时间控制