不懂就问 哪怕这个问题很二。。
如图总结就是一句话 这个flag是啥意思??原题出自Python课后作业第5讲爱因斯坦求阶梯数那道题 本帖最后由 昨非 于 2021-1-8 22:09 编辑
flag是标实符,初始为0,当找到符合条件的x后,变为1
这样就可以根据flag的值来判断有没有找到,进而输出x了
x = 7
i = 1
flag = 0
while i <= 100:#循环变量是i,因为题目要找满足条件的最小x值,所以这里写成i<=1000000也是一样的结果,这个100不用思考为什么
if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
flag = 1
else:
x = 7 * (i+1) #x是7的整数倍所以七个七个的跳着取值,之所以这么写,是为了减少一个一个比较的运算量(提高执行速度)
i += 1
#当i=17时,x=119,刚好是满足题目的最小值,此次循环中,执行if,标识符flag变为1,else不执行,所以之后的x值不变,一直为119
#下次循环:i+=1,只执行if,x不变,直到i>100,跳出循环
if flag == 1:#根据标实符flag打印结果(仍为119)
print('阶梯数是:', x)
else:
print('在程序限定的范围内找不到答案!') flag是判断在这个循环内有没有台阶数 变量名随意起,如果你高兴,设置成xxx yyyy 都是可以的
不过有些人都设置成比较有意义的名字
页:
[1]