【问题标题】:Python xrange countdown makePython xrange 倒计时制作
【发布时间】:2015-10-19 13:47:34
【问题描述】:

对于以下代码:

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

它输出什么?

如何获得我想要的输出:

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

【问题讨论】:

  • 范围将包括第一个数字,包括第二个。所以你想要xrange(360, 0, -1)
  • 所需的字符串将包含 1329 个字符。您确定要将其打印为一行吗?除非您只是想从 360 数到 1,而不是文字字符串 '360-359-358...'

标签: python python-2.7 range xrange


【解决方案1】:

我想你正在寻找这样的东西:

>>> 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 : 将列表转换为字符串
  • - :表示用连字符分隔每个“部分”

【讨论】:

  • 我刚刚看了你的输出。您是否正在寻找:360-359-358?以这种格式全部放在一行上?
  • @Ademd 您需要重新定义您的问题,因为 idjaw 的答案是正确的。
  • 是的,或者你真的想要那些'-'所以这样做:'-'.join([str(_) for _ in xrange(360, 0, -1)])
  • 没有空间不开机
  • @Ademd 我不知道您期望什么行为。您能否查看您的原始帖子,并更具体地说明您要输出的内容。根据您提供的信息,我的解决方案有效。
猜你喜欢
  • 2012-05-22
  • 1970-01-01
  • 1970-01-01
  • 2018-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-25
相关资源
最近更新 更多