Python编写带伞判断程序无输出仅返回exit code 0如何修复
问题原因
你的代码无法得到预期输出,核心是两个问题:
- Python是缩进敏感的语言,依靠缩进来区分代码块的从属关系,你写的代码缩进完全混乱:第二个
if判断和第一个if不在同一缩进层级,两个print语句的缩进也不符合所属代码块的要求,会直接触发语法错误或者逻辑异常。 - 代码首行的
input()是阻塞式交互函数,程序运行到这一行会暂停,等待你在控制台输入内容、按下回车键后才会执行后续判断逻辑。如果运行后没有输入任何内容就终止程序,自然看不到输出,程序正常退出时就会返回exit code 0。
修改后可正常运行的代码
# 行首不要留多余空格,.strip()用来自动忽略输入内容前后的误输入空格 weather = input('今天是否下雨?请输入Yes/No:').strip() # 自动把输入内容转为首字母大写,兼容用户输入小写yes/no的场景 weather = weather.capitalize() if weather == 'Yes': # 同一代码块统一使用4个空格作为缩进 print('出门请带伞') elif weather == 'No': # elif和对应if保持同一缩进层级 print('不需要带伞') else: # 增加非法输入提示,避免输入非Yes/No内容时无反馈 print('输入无效,请输入Yes或者No')
运行注意事项
- 启动程序后,等控制台出现提示文字时,输入
Yes或者No后按下回车键,就会输出对应的提示结果 - 编写Python代码时,同层级的代码必须保持缩进一致,行业通用约定是用4个空格作为一级缩进,不要混用空格和Tab键,也不要在行首随意添加多余空格,否则很容易触发缩进类语法报错。
内容的提问来源于stack exchange,提问作者CodeGirl2022
相关产品推荐
相关产品推荐

