带for loop循环的python

python with for loop

本问题已经有最佳答案,请猛点这里访问。

嘿,我的for循环有问题,所以,假设我想实现5次印刷""标志与for循环空间外,在一行。

1
2
for i in range(5):
    print"#",

我能不能从中间的空间骑车,让它看起来像而不是????


我假设你计划在这个循环中做一些事情,而不仅仅是打印"",如果是这样的话,你有几个选项:

1
2
3
import sys
for i in range(5):
    sys.stdout.write('#')

或者如果您决定使用打印:

1
2
for i in range(5):
    print"\b#",

或:

1
2
3
from __future__ import print_function
for i in range(5):
    print('#', end='')

如果您实际上只想打印"EDOCX1"(0)次,那么可以执行以下操作:

1
2
n = 5
print '#'*n

或:

1
2
n = 5
print ''.join('#' for _ in range(n))

除了发布的其他答案外,您还可以:

1
2
3
4
5
mystring = ''
for i in range(5):
    mystring += '#' # Note that you could also use mystring.join() method
                    # .join() is actually more efficient.
print mystring

或者你甚至可以:

1
print '#'*5


你不需要循环就可以做到!

1
print '#' * 5

如果你想让事情变得更复杂,你可以用str.join来理解:

1
2
print ''.join(str(i**2) for i in range(4)) # prints 0149
print ','.join(str(i+1) for i in range(5)) # prints 1,2,3,4,5


我要加入…这样的方法应该有效:

1
print(''.join('x' for x in range(5)))


使用print函数代替。(请注意,在python 2中,print通常是一条语句,但通过导入print_function它将变成一个函数)。

1
2
3
4
from __future__ import print_function

for i in range(5):
    print('#', end='')

函数支持end关键字参数,您可以指定该参数。