Tri*_*ych 185
在我看来,这是最可读的:
for i in reversed(xrange(101)):
print i,
Run Code Online (Sandbox Code Playgroud)
kcw*_*cwu 32
for i in range(100, -1, -1)
Run Code Online (Sandbox Code Playgroud)
和一些稍长(和较慢)的解决方案:
for i in reversed(range(101))
for i in range(101)[::-1]
Run Code Online (Sandbox Code Playgroud)
Bli*_*ixt 16
通常在Python中,您可以使用负数索引从后面开始:
numbers = [10, 20, 30, 40, 50]
for i in xrange(len(numbers)):
print numbers[-i - 1]
Run Code Online (Sandbox Code Playgroud)
结果:
50
40
30
20
10
Run Code Online (Sandbox Code Playgroud)
为什么您的代码不起作用
您的代码for i in range (100, 0)很好,除了
step默认情况下,第三个参数()是+1。因此,必须向range()指定第三个参数才能-1向后退一步。
for i in range(100, -1, -1):
print(i)
Run Code Online (Sandbox Code Playgroud)
注意:这在输出中包括100&0。
有多种方法。
更好的方法
对于pythonic方式,请检查PEP 0322。
这是Python3 pythonic示例,可从100打印到0(包括100和0)。
for i in reversed(range(101)):
print(i)
Run Code Online (Sandbox Code Playgroud)
小智 5
另一个解决方案:
z = 10
for x in range (z):
y = z-x
print y
Run Code Online (Sandbox Code Playgroud)
结果:
10
9
8
7
6
5
4
3
2
1
Run Code Online (Sandbox Code Playgroud)
提示:如果您使用此方法对列表中的索引进行计数,则您希望从y值开始为-1,因为列表索引将从0开始。
解决您的问题的简单答案可能是这样的:
for i in range(100):
k = 100 - i
print(k)
Run Code Online (Sandbox Code Playgroud)