python3 题解(45 卡号校验 Luhn算法)

本文介绍了Luhn算法,一种用于银行卡号校验的规则,确保卡号的正确性。当卡号中任何一位错误时,都会成为无效号码。通过将奇数位不变,偶数位乘以2并进行特殊处理,然后求和,若结果能被10整除,则校验成功。提供了Python编程实现该算法的思路。
摘要由CSDN通过智能技术生成

银行卡号校验

【问题】在自助机上给别人转款,你有没有担心过,万一卡号错了一位,把钱打给不认识的人怎么办呢?其实大可不必这么心累,银行卡的号码并不是连续有效的,它需要符合一定的校验规则,卡号中任何一位发生错误都是一个无效的号码。
这个规则是:Luhn算法。具体地说,把卡号码从后向前分别标为1,2,3…
奇数位的数不变,偶数位的乘以2,如果是2位数,把它的两个数位上数相加。
最后,把这些数求和,如果刚好被10整除,则校验成功。
请编程校验卡号。

分析:
这个问题的处理思路很明确,按要求转为程序即可。

### 银行卡号校验 Luhn算法
def cardCheck(s):
	def f(i,c):
		if i % 2 == 0: return c
		t = c * 2
		if t > 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值