从退出码和两路输出里认结果

👁️ 3 人浏览 💬 0 人评论 ❤️ 添加收藏

真机上跑一个程序会得到三样东西:标准输出、标准错误、退出码。先在这里练怎么分类:

runs = [("14\n20\n", "", 0), ("", "运行时错误: 除以零 (1:24)\n  在 main\n  在 平均\n", 1), ("", "语法错误: 期待「;」遇到「print」@2:1\n", 2), ("3\n", "运行时错误: 未定义「b」 (2:11)\n  在 main\n", 1)]
kinds = []
for out, err, rc in runs:
    if rc == 0:
        kinds.append("正常" + str(out.count("\n")))
    elif rc == 2:
        kinds.append("语法")
    else:
        kinds.append("运行:" + err.split("\n")[-2].split()[-1])
print(",".join(kinds))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论