【发布时间】:2016-02-26 00:12:59
【问题描述】:
我需要一些帮助。我不知道为什么会出现类型错误,列表索引必须是整数,而不是 str。我试图取 isbn 的第一个字符并将其乘以 10,然后将第二个字符乘以 9,依此类推。完成后,我需要确定总数是否为 11 的倍数。
isbn = ['0439202116']
count = 10
x = 0
for x in isbn:
total = isbn[x] * count
count -= 1
x += 1
if (total % 11 == 0):
print(True)
else:
print(False)
【问题讨论】:
-
list[0], list[1], list[2]...这里1,2,3代表索引
-
您不是在遍历
isbn列表中的字符串,而是遍历列表本身。x在第一次迭代中将是'0439202116'。 -
Rohit Jain,我如何迭代字符串?
-
在python中使用
for x in iterableObject时,你不必做x += 1。另外,不要使用 4 行来打印True或False,您可以只执行print(condition):print(tot % 11 == 0)