-Cest'bleu、 2022-01-02 19:06 采纳率: 94.7%
浏览 48
已结题

python程序输出结果

这个怎么理解,谢谢!

img

  • 写回答

3条回答 默认 最新

  • 陈年椰子 2022-01-02 19:30
    关注

    计划循环6次,实际总共循环了 3次。
    第一次 i = 2 , 把1 去掉了, 列表剩 5个 2,3,6,9,7 , 这个时候最小数是 2
    第二次 i =3 , 把2 去掉了 , 列表剩4个 3,6,9,7 , 这个时候最小数是 3
    第三次 i = 9 , 因为前面的2被去掉了, 遍历列表时, 指向当前列表第3个元素 9 , 这个时候,把3 去掉了 列表剩3个 , 6 ,9 ,7 , 这个时候最小数是 6
    下一次遍历 应该要遍历第4个元素, 这时候列表只有3个数, 结束遍历。

    按上面的剩余列表, min(ss) 依次为 2, 3, 6 ,
    所以选 C

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • gounie 2022-01-02 19:21
    关注

    ss被remove了三次后剩三个元素 for的判断三次之后就不进行了

    评论
  • Hann Yang 全栈领域优质创作者 2022-01-02 20:00
    关注

    遍历到第4元素,数组索引不到t[3]了遍历结束。相当以下while循环:

    s = [2,3,6,8,7,1]
    t = s[:]
    j = 0
    while t[j] in s:
        t.remove(min(t))
        print('min:',min(t),t)
        j += 1
        print('j=',j,'t[j]=',t[j])
    
        
    min: 2 [2, 3, 6, 8, 7]
    j= 1 t[j]= 3
    min: 3 [3, 6, 8, 7]
    j= 2 t[j]= 8
    min: 6 [6, 8, 7]
    Traceback (most recent call last):
      File "<pyshell#132>", line 5, in <module>
        print('j=',j,'t[j]=',t[j])
    IndexError: list index out of range
    
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月10日
  • 已采纳回答 1月2日
  • 创建了问题 1月2日

悬赏问题

  • ¥15 关于网上一个easyx制作的见缝插针小游戏(c++)
  • ¥15 开地址法双散列函数处理碰撞
  • ¥15 想问一下这个是什么情况 虚拟机Linux打不开了
  • ¥15 联通光猫掉注册了怎么重新注册上去
  • ¥15 关于unity开发steamvr程序遇到的问题
  • ¥60 求tc downloader的下载方式
  • ¥15 华为 快捷方式 手电筒 接口
  • ¥15 Qt6.5支不支持Android13开发啊
  • ¥20 网络只能跑一半,应该如何设置
  • ¥20 Python调用百度开发者平台人脸识别接口