【问题标题】:python interpretor automaticlly restarting without returning answerpython解释器自动重启而不返回答案
【发布时间】:2012-07-02 04:43:30
【问题描述】:

python解释器在调用递归函数时会自动重启有什么原因吗?我正在编写一个快速排序算法,并尝试对一大堆数字(顺序 10^4)进行排序,但是当我尝试对整个数组进行排序时,python 正在重新启动,即给我:

===============================重新开始================ ===============

所有存储在内存中的值/函数都会消失。 注:该代码适用于较小的值(

添加:python & IDLE 信息:

【问题讨论】:

  • 你用的是哪个python?
  • 编辑问题以包含 python 信息的屏幕截图
  • 你能发布一些代码吗?
  • 您可以使用sys.getrecursionlimit() 查看递归限制。它应该默认为 1000,对于 10000 的快速排序来说应该足够了,所以我猜你的实现还不正确

标签: python recursion


【解决方案1】:

您最有可能在 IDLE 中收到此消息。在 IDLE 中,“===RESTART===”只是在 IDLE 中刷新之前代码的内存。

更新

如果您通过右键单击程序并选择“使用 IDLE 编辑”进入 IDLE,则不会出现这些 ====RESTART==== 消息; IDLE 以稍微不同的模式运行。但一切仍然有效。

阅读here 了解更多关于 IDLE 的信息

【讨论】:

  • 谢谢,但我想知道它为什么这样做以及如何阻止它,以便它可以为我排序我的数组。
  • 它不应该阻止你“排序你的数组”。请向我们展示您尝试这样做的代码。
  • 通常空闲(除非以 -n 开头)在用户子进程中运行用户代码。 RESTART 行表示子进程已重新启动。无论如何启动空闲(没有-n),当一个选择shell - >重新启动shell cntl + f6或运行 - >运行模块f5时,这会发生这种情况。如果用户进程因程序错误而崩溃,也会发生这种情况。如果从命令行启动 Idle(python -m idlelib... idlelib.idle 在 2.x 中,则可能会从那里开始出现错误消息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-01
  • 2022-08-17
  • 1970-01-01
相关资源
最近更新 更多