|
10鱼币
本帖最后由 风百默 于 2022-3-6 21:46 编辑
def validCreditCard(num):
num=str(num)
a=[int(x) for x in num]
if len(a)==8:
n=1
for i in a:
s1=0
s2=0
if n%2!=0:
c=str(i*2)
b=[int(x) for x in c]
s1+=sum(b)
n+=1
else:
s2+=i
n+=1
s=str(s1+s2)
if s[-1]=='0':
valid=True
else:
valid=False
else:
valid=False
return valid
for num in [1234567, 43589795, 87539319, 123456789]:
valid = validCreditCard(num)
print(valid)
- def validCreditCard(num):
- num=str(num)
- a=[int(x) for x in num]
- if len(a)==8:
- n=1
- s1=0 # 不要把 s1 和 s2 的赋值放循环里,否则每次循环都会被重置为 0
- s2=0
- for i in a:
-
- if n%2!=0:
- c=str(i*2)
- b=[int(x) for x in c]
- s1+=sum(b)
- n+=1
- else:
- s2+=i
- n+=1
- s=str(s1+s2)
- if s[-1]=='0':
- valid=True
- else:
- valid=False
- else:
- valid=False
- return valid
- for num in [1234567, 43589795, 87539319, 123456789]:
- valid = validCreditCard(num)
- print(valid)
复制代码
|
|