0

我对编程很陌生,我从 Python 开始。我试图在这里查找我的问题,但没有真正找到任何东西。

我正在尝试使用一个非常简单的打印命令,但由于某种我不明白的原因而出现错误。

last = 'smith'
middle = 'paul'
first = 'john'
print(first.capitalize(), middle.capitalize(), last.capitalize(), sep='\t')

根据书中的答案,这应该是正确的,但是每次我尝试运行它时,都会出现“sep”错误:

print(first.capitalize(), middle.capitalize(), last.capitalize(), sep='\t')
                                                                     ^
SyntaxError: invalid syntax

有人可以告诉我我做错了什么。值得我使用 PyScripter。

[编辑]

感谢那。我发现我使用的是 Python 2.7.3 而不是 3.3。所以我查阅了手册,看看分离器是如何工作的。在我看来,唯一的区别在于方括号。该手册将打印功能描述为:

print([object, ...][, sep=' '][, end='\n'][, file=sys.stdout]) 

所以我改变了我的打印命令并添加了方括号:

print ([first.capitalize(),middle.capitalize(),last.capitalize()] [, sep='\t'])

但不幸的是,这也不起作用,因为我收到一个错误,突出显示 sep='\t' 周围的方括号。即使我取出括号,错误也不会消失。

我不确定我做错了什么,看起来应该很简单。

4

1 回答 1

2

你实际上并没有使用 Python 3,你只是认为你在使用。尝试:

import sys
print(sys.version)

看看结果如何。Python 2print ...语句(不是print(...)Python 3 中的函数)将其解释为

print (first.capitalize(), middle.capitalize(), last.capitalize(), sep='\t')

它试图打印带有关键字参数的元组,因此出现语法错误sep

于 2013-05-19T13:39:55.640 回答