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

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


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


当前回答

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

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

其他回答

通常在Python中,你可以使用负号从后面开始:

numbers = [10, 20, 30, 40, 50]
for i in xrange(len(numbers)):
    print numbers[-i - 1]

结果:

50
40
30
20
10

对于var在范围(10,-1,-1)有效

为什么你的代码不能工作

你在(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 range(100, -1, -1)

还有一些稍长的(慢的)解决方案:

for i in reversed(range(101))

for i in range(101)[::-1]

哦,好吧,你的问题看错了,我猜是关于在数组中反向移动?如果是这样,我有这个:

array = ["ty", "rogers", "smith", "davis", "tony", "jack", "john", "jill", "harry", "tom", "jane", "hilary", "jackson", "andrew", "george", "rachel"]


counter = 0   

for loop in range(len(array)):
    if loop <= len(array):
        counter = -1
        reverseEngineering = loop + counter
        print(array[reverseEngineering])