鱼C论坛

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

[已解决]20讲动动手1

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

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

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

x
  1. list1 = '''ACFlCTLIQlAIVMTqHFkswqbDDHtpgcWaXSSglUYKE
  2. lc'''
  3. list1_len = len(list1)
  4. w = []
  5. e = []
  6. for i in range(list1_len):
  7.     if not ((list1[i]).isupper()):
  8.         a = list1[i-3:i+4]
  9.         w.append(a)
  10.         for e in w:
  11.             del w[3]
  12.             if w.isupper():
  13.                 e.append((list[i]))
  14.             else:
  15.                 clear(w)
  16.     else:
  17.         continue
复制代码

为什么 我这个代码执行总是显示列表分配索引超出范围呢   应该怎样修改?
最佳答案
2020-7-13 09:32:44
小诺爷 发表于 2020-7-13 09:20
这个思路做20讲的动动手1  不知道可不可行



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

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

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

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


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-7-13 09:20:29 | 显示全部楼层
这个思路做20讲的动动手1  不知道可不可行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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



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

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

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

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


小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-23 11:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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