Python信用卡验证部分issu

2024-09-27 02:21:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我奉命做一个基本的信用卡验证器。然而,我被卡在信用卡号码的所有数字必须单独相加才能被10整除的部分。例如,12345加起来等于15,然后返回False,而1234将返回True。你知道吗

我目前拥有的代码:

for c in cardnum:
  if sum(c) % 10 != 0:
    return False
  return True

我现在遇到的错误是这样一个结果:对于+:“int”和“str”,不支持的操作数类型存在TypeError


Tags: 代码infalsetrueforreturnif错误
1条回答
网友
1楼 · 发布于 2024-09-27 02:21:41

你眼前的问题是c似乎是一个字符串,因此你不能按你想要的方式添加它的字符。也许你应该先把它们转换成整数:

if sum([int(d) for d in c]) % 10 != 0:

这是一个列表理解:如果c='1234',方括号之间的代码生成整数列表:[1, 2, 3, 4],您可以毫无问题地将其传递给sum()函数。你知道吗

相关问题 更多 >

    热门问题