王老大脱发季 发表于 2022-3-4 14:18:08

运行python程序为什么一按enter就退出了?

运行python程序为什么一按enter就退出了?{:5_107:}

isdkz 发表于 2022-3-4 14:25:27

本帖最后由 isdkz 于 2022-3-4 14:28 编辑

建议把代码放上来,

执行完了退出是很正常的,

要是因为出错退出你又不给代码又不给报错信息,

别人也不知道你什么问题呀

jackz007 发表于 2022-3-4 14:35:05

      Python 是脚本语言,运行 Python 程序的时候,操作系统会为这个程序开辟一个 console(就是一个 CMD 窗口),供程序与用户之间进行交互,一旦程序运行结束,操作系统便会立即击毁这个 console 窗口,因为它本来就是操作系统额外创建的,运行完代码,理应恢复之前的状态。

王老大脱发季 发表于 2022-3-4 15:05:08

temp = input("不妨猜一下我心里想的是哪一个数字: ")
guess = int(temp)

if guess == 7:
    print("猜对啦")
else:
    print("猜错啦!我现在想的是7哦!")

print("game over")

王老大脱发季 发表于 2022-3-4 15:06:39

本帖最后由 王老大脱发季 于 2022-3-4 15:08 编辑

isdkz 发表于 2022-3-4 14:25
建议把代码放上来,

执行完了退出是很正常的,


在IDLE里面可以正常运行,但是点开桌面的程序输入数字后按enter就直接退出了

王老大脱发季 发表于 2022-3-4 15:13:33

jackz007 发表于 2022-3-4 14:35
Python 是脚本语言,运行 Python 程序的时候,操作系统会为这个程序开辟一个 console(就是一个 CMD ...

在IDLE里面可以正常运行,但是点开桌面的程序输入数字后按enter就直接退出了。请问这是怎么回事呢?

isdkz 发表于 2022-3-4 15:17:05

本帖最后由 isdkz 于 2022-3-4 15:23 编辑

王老大脱发季 发表于 2022-3-4 15:13
在IDLE里面可以正常运行,但是点开桌面的程序输入数字后按enter就直接退出了。请问这是怎么回事呢?

这是因为程序运行结束了,你在 idle 里面运行只要 idle 没关闭就还有个主线程(idle作为主线程)在,

所以就不会关闭,

但是你直接运行的话,你的程序运行结束主线程(你的程序作为主线程)就结束了,

你想要在桌面点开运行不关闭的话,在程序末尾加上 input() 阻塞一下。

故对你的代码修改如下:

temp = input("不妨猜一下我心里想的是哪一个数字: ")
guess = int(temp)

if guess == 7:
    print("猜对啦")
else:
    print("猜错啦!我现在想的是7哦!")

print("game over")
input('请按任意键关闭程序!')            # 加个 input 阻塞程序

王老大脱发季 发表于 2022-3-4 15:44:54

isdkz 发表于 2022-3-4 15:17
这是因为程序运行结束了,你在 idle 里面运行只要 idle 没关闭就还有个主线程(idle作为主线程)在,
...

索嘎,谢谢啦!
页: [1]
查看完整版本: 运行python程序为什么一按enter就退出了?