ななこ~ 2022-03-10 01:41 采纳率: 100%
浏览 31
已结题

请问这个问题我该怎么修改步骤

img

img


输出后总是会只能删掉一个最值而无法删掉所有最值,如何做到删去所有最值?为什么在if后面加上.count(n)会报错?

  • 写回答

3条回答 默认 最新

  • 关注

    你不要修改正在循环的列表
    改成这样
    你题目的解答代码如下:

    numbers = eval(input())
    n = max(numbers)
    m = min(numbers)
    res = []
    for i in numbers:
        if i!=n and i!=m:
            res.append(i)
    
    print(res)
    

    img


    因为移除了一个元素之后其后面元素的索引值都会减一,列表长度也会减一。
    但循环索引只会加1,不会跟着减1。这样会跳过一个元素.
    比如一开始循环索引值是0,移除了索引值是0的元素之后,原来索引值为1的元素的索引值减一变成0。原来索引值为2的元素的索引值减一变成1。
    下一次循环索引加1。移除索引值是1的元素(原来索引值为2的元素),原来索引值为1的元素就被跳过了。
    对于一边循环一边删除的操作,可以用倒序循环。

    numbers = eval(input())
    n = max(numbers)
    m = min(numbers)
    
    for i in range(len(numbers)-1,-1,-1):
        if numbers[i]==n or numbers[i]==m:
            numbers.pop(i)
    
    print(numbers)
    
    
    

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

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

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀