【求助】IndexError: list index out of range

weixin_44293655 2019-10-16 11:27:59
自学python,好多不懂的。 希望大佬帮忙看下为什么会超出范围,万分感谢。
...全文
147 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_44293655 2019-10-16
  • 打赏
  • 举报
回复
引用 2 楼 R.zb 的回复:
下次循环执行的是:player【6】【i】 但是player里面没有第七位 所以就报错了
但是p不是从0开始的吗?不是很懂……
weixin_44293655 2019-10-16
  • 打赏
  • 举报
回复
引用 1 楼 R.zb 的回复:

player = [['a', 202], ['b', 193], ['c', 205], ['d', 199], ['e', 211]]

p = 0
for i in range(len(player)):
    if player[i][1] < 200:
        p += 1
        continue
    else:
        pass

print(p)
谢谢大佬回复,for循环我知道。但是作业要求的是用while循环。 主要是while循环,不知道为什么会超出范围。
R.zb 2019-10-16
  • 打赏
  • 举报
回复
下次循环执行的是:player【6】【i】 但是player里面没有第七位 所以就报错了
R.zb 2019-10-16
  • 打赏
  • 举报
回复

player = [['a', 202], ['b', 193], ['c', 205], ['d', 199], ['e', 211]]

p = 0
for i in range(len(player)):
    if player[i][1] < 200:
        p += 1
        continue
    else:
        pass

print(p)
jmzl 2019-10-16
  • 打赏
  • 举报
回复
你这个写法while能停下来吗?条件永远为true,又没有break
R.zb 2019-10-16
  • 打赏
  • 举报
回复
如果你想要的是打印第一个满足条件的元素
引用 4 楼 weixin_44293655 的回复:
[quote=引用 2 楼 R.zb 的回复:]下次循环执行的是:player【6】【i】 但是player里面没有第七位 所以就报错了
但是p不是从0开始的吗?不是很懂……[/quote] 因为你每次循环都在执行:p+=1

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧