1

我在 Python 3 的上下文中配置 SciTE 有很大的问题。我不知道细节是否有任何意义,所以:

[细节]

  1. 我下载并执行了 gen_python_3_api.py。

  2. 我在 usr/share/scite 中创建了文件夹“api”并复制粘贴在那里 python3.api

  3. 我按照 gen_python_3_api.py 的文档中的说明编辑了 SciTEUser.properties。它没有一点帮助,所以:

  4. 我使用了在 SciTE 网站上找到的更通用的方法。我编辑了 python.properties 并添加了一行:

    api.$(file.patterns.py)=$(SciteDefaultHome)\api\python.api。

    还是没有效果。

  5. 我刚刚编辑了另一行 python.properties:

    如果 PLAT_GTK

    command.go.*.py=python3 -u "$(FileNameExt)"

    它终于奏效了(或者我虽然如此)。

[/细节]

现在我想运行与 IDLE 配合良好的简单 Fibbonaci 程序。

def Fib(n):
  a = 0                 
  b = 1                 
  FibL = []             
  for i in range (n):   
    FibL.append(a)     
    z = a               
    a = b               
    b = b+z             
  return FibL 

n = int(input("Number? "))
print(Fib(n))

我得到:

>python3 -u "test.py"

Number? Traceback (most recent call last):

  File "test.py", line 38, in <module>

    n = int(input("Number? "))

EOFError: EOF when reading a line

>Exit code: 1

我完全糊涂了。有人知道为什么会发生这种情况以及如何解决吗?

4

1 回答 1

0

首先,api的生成只是为了编辑,而不是运行你的代码。

通过向命令行添加完整路径来解决版本的歧义(希望您在问题详细信息的第 5 点这样做)

问题在于:

    n = int(input("Number? "))

这里需要用户输入,即交互式运行,但编辑器在其进程内运行命令,可以简单地输出。

通过添加变量而不是输入命令来更改代码

    n=5

或使用参数http://www.scintilla.org/SciTEDoc.html#property-if

祝你好运!

于 2013-11-14T11:55:23.900 回答