我这个程序哪里出了问题,为什么结果不一样?
本帖最后由 风百默 于 2022-3-6 21:46 编辑def validCreditCard(num):
num=str(num)
a=
if len(a)==8:
n=1
for i in a:
s1=0
s2=0
if n%2!=0:
c=str(i*2)
b=
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 :
valid = validCreditCard(num)
print(valid) def validCreditCard(num):
num=str(num)
a=
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=
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 :
valid = validCreditCard(num)
print(valid) 本帖最后由 qq1151985918 于 2022-3-7 11:12 编辑
def isValid(n: str or int) -> bool:
n = str(n)
if len(n) != 8:
return False
fun = lambda x: sum()
a = sum(map(int, n))
b = sum(map(fun, n))
return False if (a + b) % 10 else True
if __name__ == "__main__":
cardnum = input("Please Enter The CardNum:")
print(isValid(cardnum))
页:
[1]