Python运行报Exited with error status 1错误,如何排查代码问题?
错误排查及修复方案
错误原因
- 输入格式不符合预期:如果第一行输入存在非数字字符,
int(input())会抛出ValueError;如果第二行输入中存在无法转为整数的内容,或者拆分后的元素数量不足n,转换逻辑就会抛出异常,程序异常终止返回状态码1。 split(' ')的拆分逻辑缺陷:如果输入的第二行存在多个连续空格、首尾空格,用split(' ')拆分后会生成空字符串,传入int()转换时直接抛出ValueError,无参的split()会自动处理各类空白符,避免该问题。exit()函数兼容问题:exit()是Python交互环境的便捷函数,不属于标准内置函数,在部分无site模块的运行环境(如在线OJ、精简Python镜像)中调用会触发NameError,导致报错退出,标准跨环境退出需要导入sys模块调用sys.exit()。
修正后代码
import sys n = int(input()) a = list(map(int, input().split())[:n]) for i in range(1, n): if a[i] + a[i-1] > 1: print("NU") sys.exit(0) print("DA")
内容的提问来源于stack exchange,提问作者Emanuel Cosereanu
相关产品推荐
相关产品推荐

