用于检查信用卡号是否有效的 Python 程序
假设我们有一个信用卡号。我们必须检查卡号是否有效。卡号具有某些属性-
它将以4、5和6开头
它将是16位数字的长度
数字只能包含数字
它可能有四组数字,以“-”分隔
它不得使用任何其他分隔符,如空格或下划线
它不能有4个或更多连续的相同数字
因此,如果输入类似于s="5423-2578-8632-6589",那么输出将为True
示例
让我们看下面的实现来更好地理解
import re def solve(s): if s.count("-")>0: a = s.split("-") p=1 if len(a)!=4: p=None a=[] for b in a: if len(b)!=4: p=None break else: p = re.search("[456][0-9]{15}",s) s = s.replace("-","") q = re.search(".*([0-9])\\1{3}.*",s) if p!=None and q==None: return True else: return False s = "5423-2578-8632-6589" print(solve(s))
输入
"5423-2578-8632-6589"输出结果
False