2016-04-26 135 views
2

我正在使用SoloLearn開發Python3的入門課程。 這是他們給出的代碼示例,但是當我在Python3或Python2中運行它時,出現類似的錯誤。下面的代碼,就介紹到字符串格式化:這是應該引起Python - TypeError:format()至多需要2個參數(給出3個)

nums = [4, 5, 6] 
msg = "Numbers: {0} {1} {2}". 
format(nums[0], nums[1], nums[2]) 
print(msg) 

>>> 
Numbers: 4 5 6 
>>> 

但我得到一個語法錯誤 2號線的指向了「」在該行的結尾處作爲語法的無效使用。

而且我得到類型錯誤:格式()將在(3給出)最多2個參數 當我嘗試執行第3

爲什麼!?

回答

3

第2和第3應該是一行:

msg = "Numbers: {0} {1} {2}".format(nums[0], nums[1], nums[2]) 

如果代碼已經在實際的課程,線路中斷,他們需要得到他們的共同行動。如果你引入換行符,不要這樣做。

+0

哈!謝謝,現在看來非常明顯。 我沒有介紹換行符。有趣的是,在包含換行符的情況下,代碼在它們提供的虛擬python環境中運行良好。 再次感謝。 –

2

如果你想要把format在另一條線,你要麼必須把這樣一個反斜槓:

msg = "Numbers: {0} {1} {2}".\ 
format(nums[0], nums[1], nums[2]) 

或用括號包起來,或者更好,把format在同一行

相關問題