【问题标题】:Getting the same result, even after changes, when running code in Spyder IPython console在 Spyder IPython 控制台中运行代码时,即使在更改之后也能获得相同的结果
【发布时间】:2017-11-26 05:46:17
【问题描述】:

所以我正在为我的编程课程“6.00.1x 计算机科学和 Python 编程简介”解决一个问题,现在我遇到了一些问题。

我已经非常接近问题的解决方案,但我的答案有点偏离。我进去并开始对代码进行更改。但是当我按下运行(我正在使用 Spyder)时,Ipython 控制台给了我与以前完全相同的答案。我开始怀疑并开始删除大量代码。还是一样的答案。最后,我删除了太多代码,只剩下几行完全不相关的行,而且它绝对不可能工作。然而它确实做到了,即使在更改了输入之后,它也完全按照它之前所做的那样做。

现在,我是一个完全的初学者,所以我打赌我只是错过了一些东西,但如果有人能向我解释发生了什么,我将非常感激。

annualInterestRate = 0.2

monthlyint = annualInterestRate/12

balance = 320000
epsilon = 0.5

print(round(guess,2))

根据我了解到的情况,这段代码不应该工作(例如,round 变量甚至没有定义),而且几乎没有任何意义。但是,当我将它输入到控制台时,它会给我:

29591.88 

为什么会这样?

Here's a picture of it in my console.

【问题讨论】:

  • 我猜是因为您在控制台的第 10 行定义了一个工作目录。如果关闭 Spyder 或更改工作目录,则上述代码将失败,因为 'guess' 未定义
  • 好的,谢谢,您知道可以防止这种行为的解决方法吗?
  • 要么删除工作目录中具有“猜测”功能的文件,要么将工作目录更改为其他内容。不知道你所说的“这种行为”是什么意思,因为 spyder 正在按照它应该的方式行事。看来
  • 嗯,好吧,我只是很困惑,我遇到的问题不仅仅是猜测变量,而是我无法编辑我的代码然后立即重新运行它以查看如何然后就可以了。我想这不是它应该如何工作的,但它似乎有点不方便。
  • 从编辑器而不是控制台运行它怎么样?这对你有用吗?

标签: python python-3.x spyder


【解决方案1】:

此处是 Spyder 开发人员)为避免此类问题,我们(自 Spyder 3.1 起)添加了一个新选项,用于在运行文件之前清除 IPython 控制台中存在的所有变量。

要访问该选项,您需要转到菜单

Run > Configure

(如果你想应用到你正在运行的文件)或

Tools > Preferences > Run

(如果您想将其应用于所有文件),然后查找

General settings

然后选择

[ ] Clear all variables before execution (IPython consoles)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-25
    • 1970-01-01
    • 2017-12-05
    • 2020-12-28
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    • 2020-02-25
    相关资源
    最近更新 更多