我试图从100循环到0.我如何在Python中执行此操作?
for i in range (100,0) 不起作用 .
for i in range (100,0)
尝试 range(100,-1,-1) ,第三个参数是要使用的增量(记录为here) .
range(100,-1,-1)
在我看来,这是最可读的:
for i in reversed(xrange(101)): print i,
for i in range(100, -1, -1)
和一些稍长(和较慢)的解决方案:
for i in reversed(range(101)) for i in range(101)[::-1]
通常在Python中,您可以使用负数索引从后面开始:
numbers = [10, 20, 30, 40, 50] for i in xrange(len(numbers)): print numbers[-i - 1]
结果:
50 40 30 20 10
另一种方案:
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
Why your code didn't work
您的代码 for i in range (100, 0) 很好,除了
for i in range (100, 0)
第三个参数( step )默认为 +1 . 因此,您必须将range()的第3个参数指定为 -1 以向后退 .
step
+1
-1
for i in range(100, -1, -1): print(i)
注意:这包括输出中的100和0 .
有多种方式 .
Better Way
对于pythonic方式,请检查PEP 0322 .
这是Python3 pythonic示例,从100打印到0(包括100和0) .
for i in reversed(range(101)): print(i)
解决问题的简单答案可能是这样的:
for i in range(100): k = 100 - i print k
for var in range(10,-1,-1) 有效
for var in range(10,-1,-1)
您可以随时增加范围并从 100 - i 中的变量中减去 i in range( 0, 101 ) .
100 - i
i in range( 0, 101 )
for i in range( 0, 101 ): print 100 - i
我在其中一个codeacademy练习中尝试了这个(在字符串中反转字符而不使用反转也不是:: -1)
def reverse(text): chars= [] l = len(text) last = l-1 for i in range (l): chars.append(text[last]) last-=1 result= "" for c in chars: result += c return result print reverse('hola')
a = 10 for i in sorted(range(a), reverse=True): print i
12 回答
尝试
range(100,-1,-1)
,第三个参数是要使用的增量(记录为here) .在我看来,这是最可读的:
和一些稍长(和较慢)的解决方案:
通常在Python中,您可以使用负数索引从后面开始:
结果:
另一种方案:
结果:
提示:如果使用此方法计算列表中的索引,则需要从“y”值开始-1,因为列表索引将从0开始 .
简短又甜蜜 . 这是我在执行codeAcademy课程时的解决方案 . 以rev顺序打印字符串 .
Why your code didn't work
您的代码
for i in range (100, 0)
很好,除了第三个参数(
step
)默认为+1
. 因此,您必须将range()的第3个参数指定为-1
以向后退 .注意:这包括输出中的100和0 .
有多种方式 .
Better Way
对于pythonic方式,请检查PEP 0322 .
这是Python3 pythonic示例,从100打印到0(包括100和0) .
解决问题的简单答案可能是这样的:
for var in range(10,-1,-1)
有效您可以随时增加范围并从
100 - i
中的变量中减去i in range( 0, 101 )
.我在其中一个codeacademy练习中尝试了这个(在字符串中反转字符而不使用反转也不是:: -1)