【问题标题】:Value of i after loop iteration循环迭代后 i 的值
【发布时间】:2017-04-26 22:41:20
【问题描述】:

考虑以下函数:

def xyz(x,y):
    z = 0

    for i in range(x):
        z = z + y

    return z

一个。如果 x 为 3,y 为 4,那么每次循环迭代的 i 值是多少?

b.每次循环迭代结束时 z 的值是多少? (第一次迭代后z是什么?第二次迭代后z是什么?)

我有答案:

一个。 0,1,2

b. 4,8,12

我知道这些是超级简单的问题,但我刚开始做这个,我不知道如何阅读函数和东西。

我很想解释一下为什么答案是这样的。

【问题讨论】:

  • 展示你的努力。
  • 也许你应该在课后向你的表弟寻求帮助。
  • 您应该查看Python For Beginners 有很多资源可以帮助您入门。 a) range(3) 定义为返回 0 到但不包括 3 b) 每个循环添加 4,因此 4, 8, 12
  • 您可以做的一件事是在每次迭代期间print z,这样您就可以看到循环内部发生了什么。让代码通过调试来解释自己:)

标签: python function loops iteration


【解决方案1】:

好的,我试图尽可能简单地向你解释这个程序。

def xyz(x,y): #This is a program declaration
    z = 0

    for i in range(x):
        z = z + y

    return z

您需要通过xyz(3,4) 在 Python 中的某处调用此程序。您可以使用任何 int 来代替 3 和 4。

函数调用后,python 中 x 和 y 的值将是 3 和 4。所以,range(x) 将是 range(3),即 [0,1,2]。因此 i 值从 0-2 变化。 (第一次迭代为 0,最后一次迭代为 2)。

z 值将是递增的,因为您正在对 iz 本身进行添加。 所以,是这样的,

1 次迭代。 z = 0 + 0 2 次迭代。 z = 0 + 1 3 次迭代。 z = 1 + 2

函数返回 3。

【讨论】:

    【解决方案2】:

    一个。如果 x 为 3,y 为 4,那么每次循环迭代的 i 值是多少? 通过在循环中添加打印语句很容易对此进行测试:

    def xyz(x,y):
    z = 0
    for i in range(x):
        print i
        z = z + y
    return z
    

    Range 是一个接受两个参数的函数,beginnig(包含)和 end(排除)。如果只有一个值,那么它是结束,开始默认设置为 0。因此,如果 x 为 3,则循环中的值将是 0、1、2。但不是 3,因为这在 Python 2.x 中被排除在外。 (在 Python 3.x 中,range 被 xrange 代替,并包含最后一个值,然后是 0、1、2、3。)

    b.每次循环迭代结束时 z 的值是多少?(第一次迭代后的 z 是多少?第二次迭代后的 z 是多少?) 同样,使用打印语句:

    def xyz(x,y):
    z = 0
    for i in range(x):
        z = z + y
        print z
    return z
    

    每个循环中z的值分别为4、8、12。答案的计算方式如下: 第一次迭代:z 为 0 并添加 4。 z 的值现在是 4,因为它被覆盖了。 第 2 次迭代:4 与 4 相加,因此最终结果为 8。 第三次迭代:8 + 4 = 12。

    希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      1a。 如果您向 range() 提供单个值。它被视为停止值。 因此 range(3) 将迭代到

      1b。因为 z = z + y 因此首先是 z = 0 + 4 ,z = 4 + 4,最后是 z = 8 + 4。

      【讨论】:

        猜你喜欢
        • 2016-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-10
        相关资源
        最近更新 更多