m0_75136240 2022-11-25 12:35 采纳率: 100%
浏览 3
已结题

杨辉三角形,最后语句超出索引范围


a = [1]*10
for i in range(len(a)):
    a[i] = [1]*(i+1)
for x in range(len(a)):
    print(a[x])
    for y in range(len(a)):
        if y<x:
            a[x+1][y+1] = a[x][y]+a[x][y+1

最后的语句为什么会超出索引范围啊
Traceback (most recent call last):
File "D:/python/p25杨辉三角形.py", line 24, in
a[x+1][y+1] = a[x][y]+a[x][y+1]
IndexError: list index out of range

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2022-11-25 13:07
    关注

    y取值最大值为长度减去1,那么y+1就等于a的长度,作为下标就越界了。因为下标范围是0-长度减去1

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月3日
  • 已采纳回答 11月25日
  • 创建了问题 11月25日

悬赏问题

  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?