【问题标题】:Why won't the len() function output anything in python 3.1.2?为什么 len() 函数在 python 3.1.2 中不输出任何内容?
【发布时间】:2010-10-03 14:13:54
【问题描述】:

我安装了3.1.2 IDLE python控制台,然后我输入了这段代码:

>>> a = ['a', 'b', 'c', 'd']
>>> len(a)
4

直接来自python官方文档http://docs.python.org/py3k/tutorial/introduction.html#lists

但它在解释器中不能正常工作,它不返回 4。

我做错了什么?官方文档有错吗?

我查看了其他一些网站,但很多都在谈论 Python 2.x。

【问题讨论】:

  • 请提供更多细节。你在什么操作系统上?你在使用标准的 cpython 解释器和 shell 吗?
  • 您是否收到错误返回?
  • 没有错误,Windows XP SP3,标准未修改的 Python 3.1.2 shell,它返回 4 的唯一方法是如果我执行此打印 (len(a))
  • 在我在 win7 上安装的 32 位 3.1.2 上运行良好。来个截图怎么样,让我们​​看看你做了什么?
  • 哦,好吧,事实证明并不像我说的那么简单,我使用的是notepad++,然后用这个 C:\Python31\python.exe "$(FULL_CURRENT_PATH)" 调用 python 控制台并且我什么也没得到,奇怪的事情,因为如果我直接打开 python.exe 并尝试它输出的代码 4

标签: python list


【解决方案1】:

没有错误;你误解了应该发生的事情。

可以交互调用 Python(通过在提示符处运行 python.exe)。此模式在完成时自动打印一行的结果,以便于阅读/调试。但是,它对于编写大量代码并不是很有用。

这样做的方法是将代码放入脚本(在 Windows 上以 .py 结尾的纯文本文件)并使用 python.exe foo.py 调用脚本。在这种情况下,会发生其他事情:Python 执行脚本并且不会自动打印每一行的结果。这就是 print 函数/语句的用途。请改写print(len(a))

请注意,这与您使用的 Python 版本无关。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多