我正在尝试在Python中制作代码块,以检查数字中的元素是否与下一个元素相同。 问题是,当if语句检查最后一个元素时,由于没有下一个元素,因此无法检查它是否与下一个相同。
我的代码:
for i, elem in enumerate(number):
if elem == number[i + 1]:
count = count + 1
else:
break
new_num = count + elem + index
这将返回
if elem == number[i + 1]:
IndexError: index out of range
使用while循环是否更好,还是可以使用try和except语句修复它?我都尝试过,但不确定是否使用正确。
答案 0 :(得分:0)
for i, elem in enumerate(number):
if i==0:
continue; # skip the first element
if elem == number[i - 1]: # is the element same as previous?
count = count + 1
else:
break
new_num = count + elem + index
答案 1 :(得分:0)
由于您正在使用索引,因此可以使用range()而不是一路走来。我的意思是这样:
for i in enumerate(len(number) - 1):
if elem == number[i + 1]:
count = count + 1
else:
break
此外,使用break
语句被认为是不好的做法,最好将此语句用作while循环的条件