第六讲作业题问题---新手
题目是:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。这是正确答案:
floor = 7
n = 1
flag = 0
while n<=100 :
if (floor % 2 == 1) and (floor % 3 ==2) and (floor % 5 ==4) and (floor % 6 ==5):
flag = 1
else :
floor = 7*(n+1)
n += 1
if flag == 1:
print ('阶梯数是:',floor)
else:
print ('找不到答案')
自己写的答案:
floor = 7
n = 1
flag = 0
while n<=20 :
if (floor % 2 == 1) and (floor % 3 ==2) and (floor % 5 ==4) and (floor % 6 ==5):
flag = 1
else :
n += 1
floor = 7*n
if flag == 1:
print ('阶梯数是:',floor)
else:
print ('找不到答案')
主要就是这个n+=1 为什么不能写到else的里面,每次执行循环,如果没有找到正确的floor,在else里边n也还是会循环+1的呀。 1.放到里面只有执行 else 时才会加 1, 那程序就有可能会无限循环。
2.放到外面执不执行 else 都会加 1,所以不会无限循环。
页:
[1]