我有一个代码:
我需要做的是在执行期间计算代码中的步数。
说明如下:
解决方案规定总步数为2 + 3 *(2 + 3 * 3 + 2)+ 2 = 43
据我所知,前两行代码给了我2,因为赋值计为一个时间步。然而,我在带有while循环的部分迷路了。有人可以把它分解给我并解释一下吗?
答案 0 :(得分:2)
我认为你应该开始分析第二个while循环:
while j < 3:
total = total + 1
j = j + 1
每次执行此循环时,都会运行两个分配。所以每个循环需要两个步骤。好吧,让我们看看我们能得到什么:
因此,完成此过程需要3 * 3 + 1 = 10步。现在,让我们来看看更大的while循环:
while i < 3:
j = 0
while j < 3:
...
i = i + 1
和以前一样,这里我们每个有效循环执行10 + 2 + 1 = 13次操作,最后一次比较执行一次操作。所以,最后,整个循环完全需要3 * 13 + 1。最后,返回1步,初始化2步:2 + 3 * 13 + 1 + 1 = 43。
我希望它能回答你的问题!
答案 1 :(得分:0)
total = 0 #1
i = 0 #1
# 3 times the following <O>
while i < 3 #probably 1
j = 0 #1
# 3 times the following <I>
while j<3 #probably 1
total = total + 1 #1
j = j + 1 #1
# </I>
i = i+1 #1
</O>
return total #1
这是带有汇编代码的微控制器的典型问题,在我看来它对python或任何其他更高级的语言没用。 这似乎是出于教学原因。
对于我来说,目前还不清楚,为什么内循环应该需要3个循环(而2个分配带有加法),外循环有3 * 3个并且需要4个循环(对于几乎相同的3个语句)
更多的帮助你只能从给你任务的老师那里得到。