You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python控制台列表最长相等整数序列查询无输出问题求助

问题根因

一共两个核心bug导致无输出、结果不符合预期:

  • 输入列表未成功保存到全局变量:ui_citire_lista函数里直接对参数lst1赋值,Python中列表作为参数传参时,函数内直接给参数名赋值只会修改局部变量,不会修改外部的全局列表。也就是说你按1输入完序列后,全局的lst1还是空列表,调用lista_egale遍历空列表,自然没有任何输出。
  • 最长相等序列计算函数lista_egale逻辑错误:当前的实现里每一次循环都会把计数l重置为0,同时判断逻辑错位,循环结束后也没有处理最后一段连续序列的情况,就算输入能正常传进去,也算不对结果。

修复方案

1. 修复输入保存逻辑

修改ui_citire_lista函数,把输入的字符串转成整数之后用列表方法更新全局列表,而不是直接赋值:

def ui_citire_lista(lst1):
    input_string = input("Introduceti numerele ")
    # 先清空原有列表,再把输入转成整数加进去,更新原列表对象
    lst1.clear()
    lst1.extend(int(num) for num in input_string.split())

2. 修复最长相等序列计算逻辑

修正lista_egale的计数和判断逻辑,循环结束后还要比对最后一段连续序列的长度:

def lista_egale(lst1):
    if not lst1:
        print(0)
        return
    l = 1
    lmax = 1
    prev_one = lst1[0]
    for current in lst1[1:]:
        if prev_one == current:
            l += 1
            if l > lmax:
                lmax = l
        else:
            l = 1
            prev_one = current
    print(lmax)

把以上两个修改替换原有对应函数即可,测试你给出的用例1 2 2 2 2 4按2之后会输出4,符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:57:03