gpt4 book ai didi

python - 出现 "string index out of range"错误

转载 作者:太空宇宙 更新时间:2023-11-03 20:40:51 24 4
gpt4 key购买 nike

代码来自 CodingBat,问题是:如果字符串“cat”和“dog”在给定字符串中出现相同的次数,则返回 True。

我有解决方案,但它指出字符串索引超出范围。我不太明白这意味着什么,因为我是 python 新手。

def cat_dog(str):
dogCount = 0
catCount = 0

length = len(str)

if length > 6:
for i in range(length-1):
if str[i]== 'd' and str[i+1]== 'o' and str[i+2]== 'g':
dogCount +=1
elif str[i]== 'c' and str[i+1]== 'a' and str[i+2]== 't':
catCount +=1
else:
return False

if dogCount == catCount:
return True
else:
return False

根据函数结果预期 true 或 false

最佳答案

字符串索引超出范围错误意味着您正在尝试访问超出字符串长度的字母。这发生在你的 for 循环中,因为当 i = length - 2 时,str[i+2] 变成 str[length] ,这超出了字符串的长度。另外,您应该将 if length > 6 更改为 if length >= 6。试试这个代码:

def cat_dog(string):
dogCount = 0
catCount = 0

length = len(string)

if length >= 6:
for i in range(length-2):
if string[i]== 'd' and string[i+1]== 'o' and string[i+2]== 'g':
dogCount +=1
elif string[i]== 'c' and string[i+1]== 'a' and string[i+2]== 't':
catCount +=1
else:
return False

if dogCount == catCount:
return True
else:
return False

关于python - 出现 "string index out of range"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56876304/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com