|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目是:有一个长阶梯,若每步上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,所以不会无限循环。
|
|