2016-04-26 141 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在同一行

相关问题