2012-12-14 67 views
7

我正在關注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') 
+1

發佈您的所有代碼。 – Blender

+8

你可以說'打印(「祝你生日快樂!\ n」)' –

+0

郵政編碼添加了額外的印刷品。 –

回答

10

如果確實有一個縮進錯誤你永遠只能得到一個縮進錯誤。請仔細檢查您的最後一行是否縮進與其他行相同 - 無論是使用空格還是使用製表符。最有可能的是,一些行有空格(或製表符),另一行有製表符(或空格)。

相信錯誤信息 - 如果它說明了某些具體內容,假設它是真實的,並找出原因。

1

常用的兩種打印空白行Python-

  1. 老派的方式:

    print "hello\n"

  2. 寫的字單獨打印要這麼做:

    print "hello"

    print

+0

代碼是OP的示例中的Python3。這不起作用。 –

12

,你可以這樣做:

print('') 

print("") 

得到一個空行

+0

評論已經確定這是一個製表符vs空間問題。 – Synchro

+0

我可以說這是比print或print()更加兼容的方式,因爲不管Python版本如何,它都是一樣的。 (如果你沒有得到我說的話,請在_Python 2.x_中嘗試'print()'。) –

2

不做

打印「\ n 「

在最後一行。它會給2個空行。

0

我有這個問題,它確實轉向成爲標籤問題與空間問題。如果你沒有這樣看,請確保你使用的任何編輯器設置爲查看符號,因爲它會以一種你可以看到的方式顯示你的標籤和空格:)

很高興我發現這個主題因爲我開始沮喪地扯掉我的頭髮。(我是一個新的編碼器哈哈)