【问题标题】:python IDLE vs Mac Terminal print statementpython IDLE vs Mac Terminal打印语句
【发布时间】:2016-02-01 03:42:24
【问题描述】:

我正在编写一个非常简单的井字游戏程序来自学 Python。我也刚刚开始学习使用命令行,当我在 IDLE 中运行代码或使用 Mac 终端时,我注意到 print 语句的一些不同行为。我正在使用 Python 3.4。

截图输出来自这个函数:

def print_board(board):
    for row in board:
        row = " ".join(row)
        print(row)
    print()

最后的打印语句用于创建一个空白行。当代码在 IDLE 中运行时,它按预期工作(见屏幕截图左侧),但在 Mac 终端中运行时,它会打印函数调用中的括号。

谁能向我解释为什么会这样?

【问题讨论】:

    标签: python macos terminal python-idle


    【解决方案1】:

    您在 Mac 终端中的默认 python 版本是,它不将打印作为函数。因此,它打印出参数,一个空元组()

    >>> import sys;sys.version
    '2.7.6 (v2.7.6:3a1db0d2747e, Nov 10 2013, 00:42:54) \n[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]'
    >>> print()
    ()
    >>> 
    

    >>> import sys;sys.version
    '3.4.0b2 (v3.4.0b2:ba32913eb13e, Jan  5 2014, 11:02:52) \n[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]'
    >>> print()
    
    >>> 
    

    【讨论】:

      【解决方案2】:

      那是因为在 python 2 中print 不是一个函数,而是一个语句。 所以写

      print()
      

      其实是

      print ()
      

      这意味着:打印一个空元组。 所以你的终端显然使用了 python 2。你可以尝试使用python3 运行你的脚本。您的 IDE 使用 python3,其中 print 是一个函数,print() 表示:不打印

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-02-19
        • 2017-07-17
        • 2014-03-26
        • 2020-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-24
        相关资源
        最近更新 更多