嘿我对for循环有问题, 所以,我想说,我希望用一个带有空间和一行的for循环来实现5次打印“#”符号。
for i in range(5):
print "#",
我可以如何在两者之间骑行,所以它看起来像#####而不是#### ???
答案 0 :(得分:3)
我假设您计划在此循环中执行操作,而不仅仅是打印'#',如果是这种情况,您有几个选项可供选择:
import sys
for i in range(5):
sys.stdout.write('#')
或者如果您决定使用print:
for i in range(5):
print "\b#",
或:
from __future__ import print_function
for i in range(5):
print('#', end='')
如果你真的只想打印'#'n
次,那么你可以这样做:
n = 5
print '#'*n
或:
n = 5
print ''.join('#' for _ in range(n))
答案 1 :(得分:0)
请改用print
功能。 (请注意,在Python 2中print
通常是一个语句,但通过导入print_function
,它会变成一个函数。)
from __future__ import print_function
for i in range(5):
print('#', end='')
该函数支持end
关键字参数,您可以指定。
答案 2 :(得分:0)
我会使用连接...这样的事情应该有效:
print(''.join('x' for x in range(5)))
答案 3 :(得分:0)
你可以在没有循环的情况下完成!
print '#' * 5
如果您正在制作更复杂的内容,可以使用str.join
进行理解:
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
答案 4 :(得分:0)
除了发布的其他答案外,您还可以:
mystring = ''
for i in range(5):
mystring += '#' # Note that you could also use mystring.join() method
# .join() is actually more efficient.
print mystring
或者你甚至可以只是:
print '#'*5