Python-信用卡验证部分问题

Python-信用卡验证部分问题,python,validation,sum,digits,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。您当前的问题是,c似乎是一个字符串,因此无法按您希望的

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

我目前拥有的代码:

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

我现在遇到的错误是,结果是+:“int”和“str”的不受支持的操作数类型存在TypeError。

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

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

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

什么是
cardnum
?它的格式很可能是字符串的列表或元组,而不是int。