Python .py文件从资源管理器打开运行至第6个输入时崩溃
双击运行Python股票计算程序第6个输入后退出问题排查
问题本质
这不是代码逻辑bug,是Windows系统下双击运行Python脚本的默认机制导致的:
- 双击
.py文件时,系统会自动拉起python.exe在临时控制台窗口执行脚本,程序运行到最后一行代码执行完毕后,控制台窗口会立刻自动关闭。你提到的第6个input()刚好是所有输入采集的最后一步,输完第6项卖出佣金按下回车后,代码会立刻执行后续所有打印计算结果的逻辑,执行完成后程序正常退出,临时窗口直接销毁,视觉上就像“崩溃闪退”。 - 命令行(CMD)和IDLE环境下运行无异常的原因很简单:手动打开的CMD窗口本身不会随脚本退出关闭,所有输出会保留在窗口里;IDLE作为开发环境会主动保留运行结果面板,不会在脚本结束后立刻关闭界面。
快速验证方式
双击运行脚本,在第6个输入项输完内容按回车的瞬间紧盯窗口,能看到计算结果会闪一下再消失,不存在报错信息,完全是程序正常跑完后的自动关窗行为。
解决方案
两种方案任选其一即可:
- 零学习成本改代码:在整个脚本的最末尾加一行暂停等待用户输入的代码,强制程序跑完结果后等待用户操作再退出:
修改后双击运行,输完所有参数后结果会一直停留在窗口,确认内容后按回车才会关闭。# 所有计算、打印逻辑写完后加这行 input("计算完成,按回车键关闭窗口...") - 不改代码的运行方式:不要直接双击
.py文件,打开脚本所在的文件夹,点击文件夹顶部的地址栏,直接输入cmd按下回车,会在当前目录打开命令提示符窗口,再执行python 你的脚本文件名.py运行即可,和你之前测试的正常运行场景完全一致,不会出现秒退。
额外提示:你代码里第6个输入的提示文字存在拼写错误,
comission正确拼写为commission,不影响程序运行,提交作业前可以修正。
内容的提问来源于stack exchange,提问作者Salad
相关产品推荐
相关产品推荐

