gpt4 book ai didi

python - 收到 'list index out of range' 错误

转载 作者:行者123 更新时间:2023-12-03 07:41:29 25 4
gpt4 key购买 nike

这段代码的目标是找出任何给定句子中的“sh”、“th”、“wh”和“ch”二合字母的数量。当看起来一切都应该正常运行时,该函数不断返回“列表索引超出范围”错误。

exsentence = input("Enter a sentence to scan: ")
slist = list(exsentence.lower())
ch = 0
sh = 0
th = 0
wh = 0
i = 0
'''muppets = slist[i] + slist[i+1]'''
while i < len(slist):
if slist[i] + slist[i+1] == "sh":
sh += 1
elif slist[i] + slist[i+1] == "ch":
ch += 1
elif slist[i] + slist[i+1] == "th":
th += 1
else:
if slist[i] + slist[i+1] == "wh":
wh += 1
i+=1
print("Has {} 'ch' {} 'sh' {} 'th' {} 'wh'".format(ch,sh,th,wh))

任何帮助都非常感谢。谢谢你。

最佳答案

i+1会出slist界限。你需要迭代直到 slist尺寸 - 1

while i < len(slist) - 1:

作为旁注, for这里似乎更合适。删除 i = 0i+=1
for i in range(len(slist) - 1):

关于python - 收到 'list index out of range' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59963392/

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