我是python的新手,我在使用sep =时遇到了问题。
我想要做的是在25
和.
之间没有空格
这是我的代码和我得到的错误。我在MAC OSX El Capitan的终端上运行此代码。
代码:
side = 5
area = side * side
print "The area of a square with side ",side,"is ",area,".",sep=" "
输出:
print "The area of a square with side ",side,"is ",area,".",sep=" "
^
SyntaxError: invalid syntax
答案 0 :(得分:2)
sep
是print()
function的参数,它要求您使用Python 3或在Python 2中使用特殊的from __future__ import print_function
语句(请参阅print()
function documentation。
正常的普通香草Python 2 print
statement(您似乎正在使用它)不支持更改使用的分隔符。
由于分隔符总是一个空格,因此您根本不需要在此处指定它:
print "The area of a square with side ", side, "is ", area, "."
如果您想打印而不使用空格,请改用字符串格式:
print "The area of a square with side {} is {}.".format(side, area)
如果您使用的是使用print(foo, bar, baz sep='')
或类似类似语法的Python 3教程,请安装Python 3,或者自己学习Python 2专用教程。
答案 1 :(得分:2)
在python 2.x
打印中不会显示参数,因为 print是一个声明 而 不是一个函数 即可。
您可以通过从print()
模块导入
future
功能
from __future__ import print_function
首次导入.py
文件。
然后 调用 打印(不要省略括号!):
# This call is valid by default for Python 3.x
# It is also valid for Python 2 if you import the print_function
print ("The area of a square with side", side, "is", area, ".", sep=" ")
或者,可以通过将Python 2
间距添加到要打印的字符串中以及组合字符串的+
运算符来显式添加# wrap int objects in str() to convert them to strings.
print "The area of a square with side " + str(side) + " is " + str(area) + "."
间距:
python -V