我正在接受
的输入main()
当我从第一个数字开始取每个其他数字的总和时,我使用这个代码(有效):
CC = (input("What is your credit card number?"))
但是,当我尝试从第二个数字开始,直到第16个数字时,取每个其他数字的总和,使用以下代码
amex_sum = sum(int(i) for i in CC[::2])
我收到错误:" TypeError:字符串索引必须是整数。"
为什么一次迭代工作而不是另一次?代码基本上不一样吗?
答案 0 :(得分:1)
你正在错误地切片,你正在做CC[1,15,2]
但这会创建一个元组(1, 15, 2)
以便在CC
中编入索引这当然不会起作用,因为CC是一个字符串并且只接受整数指数。
你想要的是CC[1:15:2]
从第二个索引切换到第16个,步骤为2。