我目前正在学习有关python基础的课程,并且对以下循环功能有疑问:
x = 0
for index in range(5, 10):
x = x + 10
print("The value of X is {}".format(x))
打印时,我得到以下结果:
The value of X is 10
The value of X is 20
The value of X is 30
The value of X is 40
The value of X is 50
这是我感到困惑的地方,我期待的结果是:
The value of X is 60
The value of X is 70
The value of X is 80
The value of X is 90
The value of X is 100
我误会了吗?
答案 0 :(得分:1)
您的函数有效执行的操作是调用
x = x + 10
五次。由于它是用x = 0
初始化的,因此输出对我来说很有意义。
循环中的index
变量根本没有使用。以下循环是等效的:
for _ in range(5, 10):
...
for i in range(0, 5):
...
在您的情况下,只需要重复执行某次操作5次即可。
如果您希望获得问题中所述的输出,则需要按如下所示修改循环:
x = 10
for i in range(5, 10):
# This loop will be performed for values
# of i of [5, 6, 7, 8, 9], so it includes
# the first value (5) and excludes that last
# one (10)
print(x * i)
>> 50
>> 60
>> 70
>> 80
>> 90
答案 1 :(得分:1)
这里是x的值,每次循环迭代时的索引
Iteration 1. x = 10 + 0 , index = 5
Iteration 2. x = 10 + 10 , index = 6
Iteration 3. x = 10 + 20 , index = 7
Iteration 4. x = 10 + 30 , index = 8
Iteration 5. x = 10 + 40 , index = 9
这就是循环执行的方式
答案 2 :(得分:0)
x
的初始值设置为0
,在循环的每次迭代中,您都要为其添加10。这就是为什么要获得这些值的原因。
答案 3 :(得分:0)
逐行查看代码:
x从0开始,然后再加上10,然后再加上10,依此类推,直到最终值是50。这有意义吗?
要产生您期望的输出,可以使用以下循环:
>>> x = 0
>>> for index in range(6, 11):
... x = index * 10
... print("The value of X is {}".format(x))
The value of X is 60
The value of X is 70
The value of X is 80
The value of X is 90
The value of X is 100
答案 4 :(得分:0)
我相信您想要这样的东西。
x = 0
for index in range(6,11):
x = index*10
print("The value of X is {}".format(x))