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 |
如果你想让事情变得更复杂,你可以用
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))) |
使用
1 2 3 4 | from __future__ import print_function for i in range(5): print('#', end='') |
函数支持