You need to enable JavaScript to run this app. 实现按用户输入1-4的整数删除列表对应数量元素的问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

实现按用户输入1-4的整数删除列表对应数量元素的问题咨询

现存代码核心问题
  • 前置运行bug:代码中的counter变量没有做初始值定义,首次进入循环执行counter = counter + 1时会直接抛出未定义错误,需补上counter = 0的初始化语句。
  • 冗余代码:addingList = list2.append(ask)属于无效赋值,list.append()是原地修改列表的方法,无返回值,该赋值操作没有实际作用。
  • 功能逻辑缺失:当前代码完成1-4范围的输入校验后直接跳出循环,没有嵌入实际的删除执行逻辑;之前尝试用del仅删除1个元素,本质是单条del语句没有匹配用户输入的删除数量做循环执行。
修复实现

由于无特定删除条目要求,默认实现删除列表末尾对应数量的元素,适配你现有列表固定长度为5、最大删除数为4的边界要求,不会出现索引越界问题。

list2 = []
# 补上counter初始化
counter = 0
for i in range(5):
    counter = counter + 1
    print("Item number : ", counter)
    ask = input("Type here to append to list: ")
    list2.append(ask)
print("Here is your newly created list: ", list2)

i = True
while i:
    dellist = int(input("Select the number of items to be deleted. 1 - 4: "))
    if dellist not in range(1, 5):
        print("Invalid choice, Please select a number between 1-4.")
    else:
        # 按输入的删除数量循环执行删除
        for _ in range(dellist):
            del list2[-1]
        print("List after deletion: ", list2)
        break

之前仅删除1个条目的根本原因是:单条del语句无论用户输入3还是4的删除数,都只会执行1次删除动作。如果需要改为删除列表头部的元素,只需要把删除语句里的del list2[-1]替换为del list2[0]即可,逻辑完全通用。

内容的提问来源于stack exchange,提问作者fffffffffffffffffffffffffffff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.27 02:54:05