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

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


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


当前回答

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

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])

其他回答

又短又甜。这是我在做codeAcademy课程时的解决方案。按rev顺序打印字符串。

def reverse(text):
    string = ""
    for i in range(len(text)-1,-1,-1):
        string += text[i]
    return string    

你也可以在python中创建一个自定义的反向机制。哪可以使用任何地方循环一个可迭代向后

class Reverse:
    """Iterator for looping over a sequence backwards"""
    def __init__(self, seq):
        self.seq = seq
        self.index = len(seq)

    def __iter__(self):
        return self

    def __next__(self):
        if self.index == 0:
            raise StopIteration
        self.index -= 1
        return self.seq[self.index]


>>> d = [1,2,3,4,5]
>>> for i in Reverse(d):
...   print(i)
... 
5
4
3
2
1
a = 10
for i in sorted(range(a), reverse=True):
    print i

这对我很管用

for i in range(5)[::-1]:
    print(i,end=' ')

输出:4 3 2 10 0

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

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