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

问题描述 投票:0回答:1

我正在接受一个输入

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

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

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

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

MC_sum = sum(int(i) for i in CC[1,15,2])

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

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

python python-3.x
1个回答
1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.