Python - 信用卡验证部分问题

时间:2015-03-31 14:12:25

标签: python validation sum digits

我已被指示制作基本的信用卡验证器。但是,我被困在信用卡号码的所有数字必须单独加起来可以被10整除的部分。因此,例如,12345将加起来为15,但随后返回False,而1234将返回True。

我目前的代码:

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

我现在遇到的错误结果是,对于+:'int'和'str'

,不支持的操作数类型存在TypeError

1 个答案:

答案 0 :(得分:0)

您当前的问题是c似乎是一个字符串,因此您无法按照自己的方式添加其字符。也许你应该首先将它们转换为整数:

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

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