def digits_plus(test):
test=0
while (test<=3):
print str(test)+"+",
test = test+1
return()
digits_plus(3)
输出是: 0+ 1+ 2+ 3 +
但是我想得到:0 + 1 + 2 + 3 +
答案 0 :(得分:2)
如果您使用Python 2.7,请使用
启动模块from __future__ import print_function
然后代替
print str(test)+"+",
使用
print(str(test)+"+", end='')
您可能希望在结束时(在循环之外!)添加print()
,以便在您完成其余部分的打印后获得换行符。
答案 1 :(得分:2)
另一种方法是创建数字列表然后加入它们。
mylist = []
for num in range (1, 4):
mylist.append(str(num))
我们得到列表[1,2,3]
print '+'.join(mylist) + '+'
答案 2 :(得分:2)
您还可以使用sys.stdout
对象将输出(到stdout)写入您可以更好地控制。这应该让你输出准确的,只输出你告诉它的字符(而打印会为你做一些自动的行结束和投射)
#!/usr/bin/env python
import sys
test = '0'
sys.stdout.write(str(test)+"+")
# Or my preferred string formatting method:
# (The '%s' implies a cast to string)
sys.stdout.write("%s+" % test)
# You probably don't need to explicitly do this,
# If you get unexpected (missing) output, you can
# explicitly send the output like
sys.stdout.flush()