鱼C论坛

 找回密码
 立即注册
查看: 898|回复: 6

[已解决]新手的每日一问

[复制链接]
发表于 2019-2-23 14:59:53 | 显示全部楼层 |阅读模式

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

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

x
  1. def box(n,m):
  2.    
  3.     box_1 = []#创建盒子
  4.     path = 0 #抽取盒子的步长
  5.     possible = []#可能抽取的盒子


  6.     #===========创建n个盒子并编号围成一圈=============
  7.     for i in range(n):
  8.         box_1.append(i)

  9.     #===========模拟抽取盒子的过程================
  10.     while True:
  11.         path += m

  12.         if box_1[path] == 0:#当重新抽到0号盒子的时候结束抽取
  13.              break

  14.         elif path>len(box_1):
  15.             path -= len(box_1)

  16.         else:
  17.             possible.append(box_1[path])#添加每一种可能性


  18.     return possible


  19. a = box(5,2)
复制代码




出现IndexError 异常 错误如图所示(自己觉得没有超过啊 越学越糊涂)
最佳答案
2019-2-23 17:12:31
循环到第三次的时候 path = 6,所以会报超出数组下标的错误。
T60{A{)D5F@SNWO4M`(2L1K.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-2-23 15:45:15 | 显示全部楼层
path =0普通切片步长是1,就是一个元素接下一个元素了
用索引的话[]里都是正负数,我感觉没有见到索引框里是赋值函数的,仅供参考
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-23 16:01:29 | 显示全部楼层
IMULily 发表于 2019-2-23 15:45
path =0普通切片步长是1,就是一个元素接下一个元素了
用索引的话[]里都是正负数,我感觉没有见到索引框里 ...

path += m 不是赋值嘛,,,m是函数传入的参数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-23 16:10:13 | 显示全部楼层
你这里根本就没有控制你的下标
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-23 16:25:16 | 显示全部楼层
塔利班 发表于 2019-2-23 16:10
你这里根本就没有控制你的下标

不好意思,没有懂您什么意思,能麻烦您再详细一点嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-23 17:12:31 | 显示全部楼层    本楼为最佳答案   
循环到第三次的时候 path = 6,所以会报超出数组下标的错误。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-23 17:19:28 | 显示全部楼层
°蓝鲤歌蓝 发表于 2019-2-23 17:12
循环到第三次的时候 path = 6,所以会报超出数组下标的错误。

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-23 22:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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