鱼C论坛

 找回密码
 立即注册
查看: 1459|回复: 3

[已解决]20讲动动手1

[复制链接]
发表于 2020-7-13 09:19:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
list1 = '''ACFlCTLIQlAIVMTqHFkswqbDDHtpgcWaXSSglUYKE
lc'''
list1_len = len(list1)
w = []
e = []
for i in range(list1_len):
    if not ((list1[i]).isupper()):
        a = list1[i-3:i+4]
        w.append(a)
        for e in w:
            del w[3]
            if w.isupper():
                e.append((list[i]))
            else:
                clear(w)
    else:
        continue
为什么 我这个代码执行总是显示列表分配索引超出范围呢   应该怎样修改?
最佳答案
2020-7-13 09:32:44
小诺爷 发表于 2020-7-13 09:20
这个思路做20讲的动动手1  不知道可不可行



肯定不可行的,你写的代码抛开报错,不符合题意

简单理解题目的意思是 小写字母的 前后都有且只有 3 个 大写字母 ,而你的代码并没有实现

超出索引的地方就是 w[3] ,这表示的是 w 列表的第三个元素,而你开始的时候也就是个空列表,for 循环也只 append 了一个字符串到 w 列表中

所以这里索引超出范围了,导致报错,建议重新读懂题意然后尝试着重新写串代码哈


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-7-13 09:20:29 | 显示全部楼层
这个思路做20讲的动动手1  不知道可不可行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-13 09:32:44 | 显示全部楼层    本楼为最佳答案   
小诺爷 发表于 2020-7-13 09:20
这个思路做20讲的动动手1  不知道可不可行



肯定不可行的,你写的代码抛开报错,不符合题意

简单理解题目的意思是 小写字母的 前后都有且只有 3 个 大写字母 ,而你的代码并没有实现

超出索引的地方就是 w[3] ,这表示的是 w 列表的第三个元素,而你开始的时候也就是个空列表,for 循环也只 append 了一个字符串到 w 列表中

所以这里索引超出范围了,导致报错,建议重新读懂题意然后尝试着重新写串代码哈


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-13 09:39:51 | 显示全部楼层
超范围是w导致的。
最开始的时候列表w是空的,第一次进入for循环的if语句,会向w中添加一个元素,然后进入内层for循环,此时w中只有一个元素,你却写了del w[3]当然会报索引超出范围啦。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 01:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表