2015-10-19 71 views
-3

对于下面的代码:Python中的xrange倒计时让

for slot in xrange(360-1,-1,-1): 

这是什么输出?

我如何获得我所期望的输出:

360-359-358-357-356....-- 3-2-1 
+0

分离的范围将包括包含第一数目和*不*包括第二个。所以你想要'xrange(360,0,-1)'。 – Kevin

+0

所需的字符串将有1329个字符。你确定要打印一行吗?除非你的意思是你想从360到1计数,而不是字符串“360-359-358 ...”。 – TigerhawkT3

回答

2

我认为你正在寻找的东西是这样的:

>>> for slot in xrange(360, 0, -1): 
...  print(slot) 
  • 的第一项是你在哪里开始。
  • 第二项是你想停止的地方。
  • 第三项是你的一步。在这种情况下,-1表示,

“每次下井1”如果你正在寻找输出你的清单,连字符的之间,那么你可以做这样的事情:

'-'.join([str(i) for i in xrange(360, 0, -1)]) 

要从里面分解它:

  • [i for i in xrange(360, 0, -1)]:列表理解将执行您的范围操作并创建指定范围的列表。
  • join:列表转换为字符串
  • -:表示各“份”以连字符
+0

谢谢你,但不工作:/ –

+0

我只是看着你的输出。你是否在寻找:360-359-358?全部在一行中完全一样的格式? – idjaw

+0

@Ademd你需要重新定义你的问题,然后因为idjaw的回答是正确的。 – Leb