接收" TypeError:字符串索引必须是整数"迭代一段代码时

时间:2018-01-05 00:55:49

标签: python python-3.x

我正在接受

的输入
main()

当我从第一个数字开始取每个其他数字的总和时,我使用这个代码(有效):

CC = (input("What is your credit card number?"))

但是,当我尝试从第二个数字开始,直到第16个数字时,取每个其他数字的总和,使用以下代码

amex_sum = sum(int(i) for i in CC[::2])

我收到错误:" TypeError:字符串索引必须是整数。"

为什么一次迭代工作而不是另一次?代码基本上不一样吗?

1 个答案:

答案 0 :(得分:1)

你正在错误地切片,你正在做CC[1,15,2]但这会创建一个元组(1, 15, 2)以便在CC中编入索引这当然不会起作用,因为CC是一个字符串并且只接受整数指数。

你想要的是CC[1:15:2]从第二个索引切换到第16个,步骤为2。