【问题标题】:Print empty line?打印空行?
【发布时间】:2012-12-02 01:30:58
【问题描述】:

我正在学习 Python 的初学者教程,有一个小练习,我必须添加一个额外的函数调用并在诗句之间打印一行,如果我在函数调用之间打印一个空行,这很好,但如果我添加我的happyBirthday() 末尾有一个空打印行我收到缩进错误,但没有添加打印行一切正常,有什么建议吗?

代码如下:

def happyBirthday(person):
    print("Happy Birthday to you!")
    print("Happy Birthday to you!")
    print("Happy Birthday, dear " + person + ".")
    print("Happy Birthday to you!")
    print("\n") #error line

happyBirthday('Emily')
happyBirthday('Andre')
happyBirthday('Maria')

【问题讨论】:

  • 你可以说print("Happy Birthday to you!\n")
  • 邮政编码加上您的附加印刷品。
  • 缩进错误的一个常见原因是文件中混合了制表符和空格。这可能是你的编辑的错。确保所有行都以完全相同的空格序列开头(并且根本不使用制表符)。
  • 不要在 Python 代码中使用制表符!那就是疯狂。
  • @jdi: PEP8 建议使用制表符上的空格是有充分理由的。如果您曾经与其他人共享您的代码,您使用制表符会导致混乱和错误。如果你从不与任何人分享你的代码,我想这并不重要,但这是一个坏习惯。

标签: python python-3.x newline


【解决方案1】:

如果确实存在缩进错误,您总是只会收到缩进错误。仔细检查您的最后一行是否与其他行一样缩进 - 无论是空格还是制表符。很可能,有些行有空格(或制表符),而另一行有制表符(或空格)。

相信错误信息——如果它说的是特定的东西,假设它是真的并找出原因。

【讨论】:

  • “假设它是真的”:没有比这更真实的词了 :-)
【解决方案2】:

Python中常用的两种打印空行-

  1. 老派的方式:

    print "hello\n"

  2. 单独写 print 就可以了:

    print "hello"

    print

【讨论】:

  • OP 示例中的代码是 Python3。这行不通。
【解决方案3】:

你可以这样做

print()

得到一个空行。

【讨论】:

  • 评论已经确定这是一个制表符与空格的问题。
  • 我可以说这比printprint() 更兼容,因为无论Python 版本如何,它的功能都是一样的。 (如果你不明白我在说什么,请尝试 Python 2.x 中的print()。)
【解决方案4】:

别这样

print("\n")

在最后一行。它会给你 2 个空行。

【讨论】:

  • 除非你想试试print("\n", end = "")。别笑,我在野外见过这个:-)
【解决方案5】:

Python 2.x: 打印换行符

print      

Python 3.x: 你必须调用函数

print() 

来源:https://docs.python.org/3.0/whatsnew/3.0.html

【讨论】:

    【解决方案6】:

    Python 的print 函数adds a newline character to its input。如果你不给它输入它只会打印一个换行符

    print()
    

    将打印一个空行。如果您想在打印的某些文本之后有一个额外的行,您可以在文本中添加换行符

    my_str = "hello world"
    print(my_str + "\n")
    

    如果您经常这样做,您还可以通过更改 end= 参数 (by default end="\n") 来告诉 print 添加 2 个换行符而不是一个换行符

    print("hello world", end="\n\n")
    

    但你可能不需要最后一个方法,前面的两个更清楚。

    【讨论】:

      【解决方案7】:

      这是在 python 中打印空行的其他方法

      # using \n after the string creates an empty line after this string is passed to the the terminal.
      print("We need to put about", average_passengers_per_car, "in each car. \n") 
      print("\n") #prints 2 empty lines 
      print() #prints 1 empty line 
      

      【讨论】:

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