我试着从100循环到0。在Python中如何做到这一点?
I在(100,0)范围内不成立。
有关为什么range以这种方式工作的讨论,请参见为什么slice和range是独占的?
我试着从100循环到0。在Python中如何做到这一点?
I在(100,0)范围内不成立。
有关为什么range以这种方式工作的讨论,请参见为什么slice和range是独占的?
当前回答
另一个解决方案:
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开始。
其他回答
又短又甜。这是我在做codeAcademy课程时的解决方案。按rev顺序打印字符串。
def reverse(text):
string = ""
for i in range(len(text)-1,-1,-1):
string += text[i]
return string
解决你的问题的简单答案是这样的:
for i in range(100):
k = 100 - i
print(k)
另一个解决方案:
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)
我想同时对两个列表进行反向循环,所以我需要负下标。这是我的解决方案:
a= [1,3,4,5,2]
for i in range(-1, -len(a), -1):
print(i, a[i])
结果:
-1 2
-2 5
-3 4
-4 3
-5 1