循环功能建议

时间:2018-08-15 20:14:26

标签: python-3.x

我目前正在学习有关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

我误会了吗?

5 个答案:

答案 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。
  • 然后您设置一个循环,该循环将运行五次。
  • 您将x的原始值加10,然后将新值设置为x
  • 您打印x的值。
  • 重复5次。

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))