我试着从100循环到0。在Python中如何做到这一点?

I在(100,0)范围内不成立。


有关为什么range以这种方式工作的讨论,请参见为什么slice和range是独占的?


当前回答

尝试range(100,-1,-1),第三个参数是要使用的增量(这里有文档)。

(“范围”选项,开始,停止,步骤在这里有记录)

其他回答

你总是可以增加范围,然后减去一个变量,在你的例子中是100 - i,其中i在范围(0,101)。

for i in range( 0, 101 ):
    print 100 - i

你可能想在python中使用反转函数。 在我们进入代码之前,我们必须记住范围 function总是返回一个列表(或者一个我不知道的元组),因此range(5)将返回[0,1,2,3,4]。反转函数反转列表或元组,因此reversed(range(5))将为[4,3,2,1,0],因此您的解决方案可能是:

for i in reversed(range(100)):
    print(i)

另一个解决方案:

z = 10
for x in range (z):
   y = z-x
   print y

结果:

10
9
8
7
6
5
4
3
2
1

提示: 如果你使用这个方法来计数列表中的索引,你会希望从y值开始-1,因为你的列表索引将从0开始。

为什么你的代码不能工作

你在(100,0)范围内为i编码是可以的,除了

第三个参数(step)默认为+1。因此,您必须将range()的第三个参数指定为-1以后退。

for i in range(100, -1, -1):
    print(i)

注意:这包括输出中的100和0。

有多种方法。

更好的方法

对于python方式,请检查PEP 0322。

这是一个Python3的python示例,从100到0(包括100 & 0)打印。

for i in reversed(range(101)):
    print(i)

在我看来,这是最有可读性的:

for i in reversed(xrange(101)):
    print i,