这个在找出连续相同值的次数的程序中有什么错误

2024-10-04 09:22:09 发布

您现在位置:Python中文网/ 问答频道 /正文

def get_count(num_list):
    count=0
    for i in num_list:
        if (i==num_list[i+1]):
            count=count+1
        else:
            pass
    return count

list=[1,1,5,100,-20,-20,6,0,0]
getCount=get_count(list)
print(getCount)

Traceback (most recent call last):
  File "C:/Users/SHIVAM TYAGI/PycharmProjects/infiTQ/Day3Excercise17.py", line 12, in <module>
    getCount=get_count(list)
  File "C:/Users/SHIVAM TYAGI/PycharmProjects/infiTQ/Day3Excercise17.py", line 5, in get_count
    if (i==num_list[i+1]):
IndexError: list index out of range

Tags: inpygetifcountusersnumlist
1条回答
网友
1楼 · 发布于 2024-10-04 09:22:09

在代码中,您正在迭代num_list的元素,并尝试将其与索引不存在的num_list元素进行比较。因此出现了错误

您需要迭代索引,直到最后一个元素

def get_count(num_list):
    count=0
    for i in range(len(num_list)-1):  # Looping from index 0 to length-1
        if (num_list[i]==num_list[i+1]):
            count=count+1
    return count

list=[1,1,5,100,-20,-20,6,0,0]
getCount=get_count(list)
print(getCount)

相关问题 更多 >