为何break写在前而不是在后?为何要 n = n +1
sum = 0 x = 1 n = 1 while True: if n > 20: break sum = sum + x x = x * 2 n = n + 1 print sum
为何break写在前而不是在后?为何要 n = n +1 ٩(͡๏̯͡๏)۶
sum = 0 x = 1 n = 1 while True: if n > 20: break sum = sum + x x = x * 2 n = n + 1 print sum
为何break写在前而不是在后?为何要 n = n +1 ٩(͡๏̯͡๏)۶
2018-09-16
sum = 0 x = 1 n = 1 while True: sum = sum + x x = x * 2 #(1) n = n + 1 #(2) if n > 20: #(3) break print sum
确实可以放在后面但是有一点需要注意:放在后面因为你是先做判断后计算。
代码注释如下(这里是网页在代码里有中文注释会报错,所以主是在此供你理解)
#(1)计算第前n向和(1) #(2)计算n+1项的值 #(3)计算n+1项是第几项
if n > 20:
break
这两条语句是配合的,必须放在一起都放在后面来判断n大于20就不需要再输出第21项了。但是当n=20时还是会进入while循环执行(1)(2)(3)三条语句,此时满足将第20项加到sum中,同时也计算了第21项的值和第21项的项数,但这两个值的计算是多余的。所以将break判断放在前程序更加优化,可读性也更强。
但是无论放在前面还是后面都能满足题目的需求。上面的代码你直接粘贴就可以运行。
举报