这是我的程序,根据以下条件,我想查找天气是否为总和字符串 1)字符串长度必须> 3 例如:“ 12358” --- 1 + 2 = 3,2 + 3 = 5,3 + 5 = 8 我尝试了此程序,但出现索引错误,请帮帮我。谢谢您。
下面是我的代码:
y="12358"
for i in range(len(y)-1):
if y[i]+y[i+1]==y[i+2]:
print "sum stringgg"
答案 0 :(得分:1)
该范围的上限应为y
的长度减去2,以适应与索引项加2的比较。您还应该将字符串中的每个字符转换为整数以进行算术加法和比较。最后,只要前两位数字不等于后一位数字,就应该使用for-else
构造来break
,并且如果循环在没有'sum string'
的情况下结束,则仅输出break
:
y = "12358"
digits = list(map(int, y))
for i in range(len(digits) - 2):
if digits[i] + digits[i + 1] != digits[i + 2]:
break
else:
print('sum string')