为什么我不能导入这个模块?蟒

时间:2015-09-16 21:41:31

标签: python windows import module python-idle

我对编程非常陌生,如果我有一些愚蠢的问题,我会尝试自我教育。

我一直在努力遵循" Python编程:计算机科学概论"作者:John Zelle(第2版)。不幸的是,我在第一章中遇到了困难...我不明白我做错了什么因为我认为我完全按照他的指示行事。基本上,他向我们展示了如何在IDLE中创建我们的第一个模块以及如何在python shell中导入它。

我真的输入了这本书的内容。我决定使用IDLE,因为这本书说它的标准。我按照指示将文件命名为chaos.py。这是模块:

>>> # File: chaos.py
>>> # A simple program illustrating chaotic behavior.
>>> def main():
    print("This program illustrates a chaotic function")
    x = eval(input("Enter a number between 0 and 1: "))
    for i in range(10):
        x = 3.9 * x * (1 - x)
        print(x)


>>> main()

尝试从Python shell导入时,我总是得到这个结果(书中说这总是有效):

>>> import chaos
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import chaos
  File "C:\Python34\lib\site-packages\chaos.py", line 1
    Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32
             ^
SyntaxError: invalid syntax

我尝试将模块放在site-packages中,但我仍会得到相同的结果。谁能告诉我我做错了什么?谢谢!

    Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32
    Type "copyright", "credits" or "license()" for more information.
    >>> # File: chaos.py
    >>> # A simple program illustrating chaotic behavior.
    >>> def main():
    print("This program illustrates a chaotic function")
    x = eval(input("Enter a number between 0 and 1: "))
    for i in range(10):
    x = 3.9 * x * (1 - x)
    print(x)
    >>> main()

1 个答案:

答案 0 :(得分:0)

chaos.py的实际内容应该是这样的。你所做的是复制实际的终端会话提示,&gt;&gt;&gt;我认为,这些东西也是如此。

def main():
    print("This program illustrates a chaotic function")
    x = eval(input("Enter a number between 0 and 1: "))
    for i in range(10):
        x = 3.9 * x * (1 - x)
        print(x)

main()

现在,虽然这样运行,但在输入行的语法上仍然存在一些错误。我改成了:

x = input("Enter a number between 0 and 1: ")

其他信息:

您需要显示chaos.py的实际内容。像 Python 3.4.3这样的东西在文件中没有任何业务。如果它们在文件中,那么我完全期待像

这样的错误
File "C:\Python34\lib\site-packages\chaos.py", line 1
    Python 3.4.3

这是语法错误,而不是“无法找到要导入的文件”错误。

因为你还在Windows提示符中,为什么不去chaos.py所在的目录,只需输入** python chaos.py“这是做什么的?

在我的chaos.py

中加入了以下内容
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.

并输入:

python chaos.py

然后我将此视为错误,看起来与您的错误相同:

  File "chaos.py", line 1
    Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32
             ^
SyntaxError: invalid syntax

即。发布chaos.py的内容,而不是会话的屏幕截图和错误。单独发布错误。 chaos.py不应该有Python或&gt;&gt;&gt;在它的任何地方。到目前为止,你的所有帖子都包含终端会话内容或Python内容,这些内容都不是有效的python代码。