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

CS50P 2022 PSet3 Grocery程序Check50测试失败:EOF输入退出码异常求助

CS50P 2022 PSet3 Grocery程序Check50测试失败:EOF输入退出码异常求助

我目前正在解决CS50P 2022第三套作业中的Grocery问题,自己本地测试时输出都是符合预期的,但跑Check50的时候总是卡在EOF输入的测试项上,其他测试也因为这个前置失败无法正常进行,实在搞不懂哪里出问题了,希望有人能帮我看看!

我的代码:

def main():

    lst = []
    try:
        while True:
            lst.append(input().upper())
    except EOFError:
        pass
    lst.sort()
    grocery = [[lst[0], 1]]

    for item in lst[1:]:
        if item.upper() != grocery[-1][0]:
            grocery.append([item.upper(), 1])
        else:
            grocery[-1][1] += 1

    for item in grocery:
        print(f'{item[1]} {item[0]}')
    return

main()

Check50测试结果:

:) grocery.py exists

:( input of EOF halts program
Cause
expected exit code 0, not 1

Log
running python3 grocery.py...
sending EOF...
checking that program exited with status 0...
:| input of "apple" and "banana" yields "1 APPLE 1 BANANA"
Cause
can't check until a frown turns upside down

:| input of "strawberry" and "strawberry" yields "2 STRAWBERRY"
Cause
can't check until a frown turns upside down

:| input of "mango", "sugar", and "mango" yields "2 MANGO 1 SUGAR"
Cause
can't check until a frown turns upside down

:| input of "tortilla" and "sweet potato" yields "1 SWEET POTATO 1 TORTILLA"

核心问题:

最关键的失败项是这个:

:( input of EOF halts program
Cause
expected exit code 0, not 1

我已经尝试过好几种不同的写法来实现这个功能,自己本地测试不管输入什么内容,包括直接输入EOF,输出都是符合要求的,但每次跑Check50都栽在这个退出码的问题上,完全摸不着头脑,求各位大佬指点!

备注:内容来源于stack exchange,提问作者George Baker

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 15:39:36