我正在攻读初学者编程课程的决赛。我的期中考试错了。我说答案是1,然而,答案实际上是0.我想知道是否有人可以向我解释为什么它是0.是因为z最初分配给0?我不知道如何判断它是否是具有此有限代码的局部变量。感谢您提供的任何帮助!
z=0
for x in range(1, 200, -1):
z=z+1
print(z)
答案 0 :(得分:4)
range(1, 200, -1)
没有元素,循环甚至没有启动。所以z
从未改变其价值。
在这里阅读步骤(范围的第三个arg):
https://docs.python.org/2/library/functions.html#range
看到这个的好方法是将范围转换为列表:
print(list(range(1, 200, -1)))
>>> []
答案 1 :(得分:1)
你应该在翻译中测试一下。循环永远不会进行迭代。想想正在增加的内容。
您的范围是1到200,但是您选择从1开始的每一步增加-1,因此在这种情况下您不能向后移动。
答案 2 :(得分:1)
它保持为零,因为范围是1,200但是你步进-1,所以for循环中的表达式永远不会实际执行。