Python程序中的索引错误

时间:2013-04-01 20:26:14

标签: python-3.x

我正在尝试创建一个程序,告诉我数字的方块是否有不同的数字。

我有一个"索引错误"在真正的长期"如果"线。我该如何解决?

a= 4486659

f= (a**2)

s= str(f)

for num in range (1089):
    if s[6]==s[7] or s[6]==s[8] or s[6]==s[9] or s[6]==s[10] or s[6]==s[11] or s[6]==s[12] or s[6]==s[13] or s[6]==s[14] or s[6]==s[15] or s[7]==s[8] or s[7]==s[9] or s[7]==s[10] or s[7]==s[11] or s[7]==s[12] or s[7]==s[13] or s[7]==s[14] or s[7]==s[15] or s[8]==s[9] or s[8]==s[10] or s[8]==s[11] or s[8]==s[12] or s[8]==s[13] or s[8]==s[14] or s[9]==s[10] or s[9]==s[11] or s[9]==s[12] or s[9]==s[13] or s[9]==s[14] or s[9]==s[15] or s[10]==s[11] or s[10]==s[12] or s[10]==s[13] or s[10]==s[14] or s[10]==s[15] or s[11]==s[12] or s[11]==s[13] or s[11]==s[14] or s[11]==s[15] or s[12]==s[13] or s[12]==s[14] or s[12]==s[15] or s[13]==s[14] or s[13]==s[15] or s[14]==s[15]:
        a= a+1
    else:
        print(a)

2 个答案:

答案 0 :(得分:0)

索引错误是因为你的字符串s只有14个字符长,但你试图访问s [14]和s [15]

答案 1 :(得分:-2)

由于您无法在字符串中调用不存在的项目,试一下
if s[6]==s[7] or s[6]==s[8] or s[6]==s[9] or s[6]==s[10] or s[6]==s[11] or s[6]==s[12] or s[6]==s[13] or s[6]==s[14] or s[7]==s[8] or s[7]==s[9] or s[7]==s[10] or s[7]==s[11] or s[7]==s[12] or s[7]==s[13] or s[7]==s[14] or s[8]==s[9] or s[8]==s[10] or s[8]==s[11] or s[8]==s[12] or s[8]==s[13] or s[8]==s[14] or s[9]==s[10] or s[9]==s[11] or s[9]==s[12] or s[9]==s[13] or s[9]==s[14] or s[10]==s[11] or s[10]==s[12] or s[10]==s[13] or s[10]==s[14] or s[11]==s[12] or s[11]==s[13] or s[11]==s[14] or s[12]==s[13] or s[12]==s[14] or s[13]==s[14]: