输入:17
stop = int(input())
result = 0
for a in range(5):
for b in range(3):
result += a + b
print(result)
if result > stop:
break
有人可以向我解释这段代码是如何产生的: 3 9 18
我只是似乎无法为这些数字的计算方法着迷...感谢任何帮助!
答案 0 :(得分:1)
我能解释的最好的是这样的:
stop = int(input("Input a stop value:"))
print(f"stop value is: {stop}")
result = 0
for a in range(5):
for b in range(3):
print(f"adding: a{a} + b{b}")
result += a + b
print(f"result is now: {result}")
if result > stop:
print(f"result {result} is superior to {stop}, break")
break
print(f"\nFinal result is {result}")
Input a stop value: 17
stop value is: 17
adding: a0 + b0
result is now: 0
adding: a0 + b1
result is now: 1
adding: a0 + b2
result is now: 3
adding: a1 + b0
result is now: 4
adding: a1 + b1
result is now: 6
adding: a1 + b2
result is now: 9
adding: a2 + b0
result is now: 11
adding: a2 + b1
result is now: 14
adding: a2 + b2
result is now: 18
result 18 is superior to 17, break
Final result is 18
答案 1 :(得分:0)
内部循环将a
与结果相加3次,并将b
的所有值(0、1和2)相加。这意味着每次循环运行时,结果+ = 3 * a +3。然后,外部循环将打印此值。最初在0处,在第一个增量为a = 0之后,第二个增量为9(加3 * 1 + 3 = 6),第三个增量为3(加3 * 2 + 3)后为3(加3 * 0 + 3)。 = 9)。每回合还检查结果是否大于停止值,并调用break关键字。在Python中,这立即结束了循环的执行,因此程序退出了外循环并完成了程序。 continue
,正如您在标题中所询问的那样,在语句之后的循环中跳过了其余代码。