【发布时间】:2016-03-27 19:44:21
【问题描述】:
我想知道如何在 for 循环中在一行中打印一些字符串,而彼此之间没有空格。
我知道在一行中连接没有空格的字符串,但在 for 循环之外:
>>> print('hi'+'hi'+'hi')
hihihi
但是,我不知道如何在 for 循环中执行此操作。
【问题讨论】:
我想知道如何在 for 循环中在一行中打印一些字符串,而彼此之间没有空格。
我知道在一行中连接没有空格的字符串,但在 for 循环之外:
>>> print('hi'+'hi'+'hi')
hihihi
但是,我不知道如何在 for 循环中执行此操作。
【问题讨论】:
s = ""
for i in range(3):
s += 'Hi'
print(s)
【讨论】:
你可以跳过print直接调用stdout来实现:
import sys
for i in range(3):
sys.stdout.write("Hi")
sys.stdout.write("\n")
输出结果为HiHiHi。有关print 和stdout 之间差异的详细讨论,另请参阅this question。
【讨论】:
您可以使用 Python 3 中的 print 函数并像这样指定 end 字符串:
# this import is only necessary if you are using Python 2
from __future__ import print_function
for i in range(3):
print('hi', end='')
print()
或者,sys.stdout.write 默认情况下不添加换行符。
【讨论】: