Python冗余
如果我有密码Python冗余,python,redundancy,Python,Redundancy,如果我有密码 i = 0 while i < N: print("Hello") i += 1 i=0 而i
i = 0
while i < N:
print("Hello")
i += 1
i=0
而i
Hello将打印多少次?(假设N是定义的整数)
答复:
为什么?我从来没有得到过这样的答案,所以我希望有人能解释清楚。解决这个问题的最好方法是手工查看一些可管理的值
N
。例如,如果N
为2:
和i==0
→ 打印0<2
,增量“hello”
i
和i==1
→ 打印1<2
,增量“hello”
i
和i==2
→ <代码>而循环条件不再满足→ 环端2<2
因此,对于
N=2
,“hello”
被打印两次。看到图案了吗?Hello将被打印N次。
假设N是3
第一次迭代
i=0
i
小于N
print hello
i = i + 1; // i = 1
第二次迭代
i=1代码>
i`小于
N(3)`
第三次迭代
i=2代码>
i
小于N(3)
第四次迭代
i=3代码>
i
等于N(3)
中断循环如其他答案所述,它将打印N次
,因为它从0开始,一直到N之前,不等于N
但实际上,这在Python中是非常多余的。这是一种更简单的方法,使其更具可读性(希望您更容易理解):
这个循环将从0打印到N
,这实际上只是N
的次数。它将打印N次。我从零开始。如果i不小于N,您的条件要求循环退出。但由于索引从0开始,因此将精确打印N次。尝试用变量i替换“Hello”。我想这会让事情变得更为正确。你有没有试着从你对while
循环的理解开始解决这个问题?这感觉像是一个测试题…这不是一个奇怪的测试题,伙计…放松,哈哈,每个人都必须从某个地方开始。随着时间的推移,循环将成为第二天性,不要因为任何讨厌的评论而沮丧。他们来自于那些忘记了他们曾经必须思考这个问题的人。这对我来说是有意义的,你的例子是如何使用N+1的?不会,因为N+1不是答案……N+1(给出上面的例子)将是N=4,所以它将打印hello 4次
print hello
i = i + 1; // i = 2
print hello
i = i + 1; // i = 3
N=3
for x in range(0,N):
print "This is loop %d" % (x)