第006讲:Python作业之爱因斯坦的数学问题
爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。(小甲鱼温馨提示:步子太大真的容易扯着蛋~~~)
我的问题是怎么是while循环结束呢,因为他会一直输入'阶梯数是119'
x = 7
i = 1
while i:
if (x%2==1)and(x%3==2)and(x%5==4)and(x%6==5):
print('阶梯数是',x)
else:
x = x + 7
i = i + 1
本帖最后由 jackz007 于 2020-4-3 20:12 编辑
循环没有用对
for x in range(0 , 700 , 7):
if x % 2 == 1 and x % 3 == 2 and x % 5 == 4 and x % 6 == 5 :
print('阶梯数是' , x)
如果一定要用 while
x = 7
while x < 701:
if x % 2 == 1 and x % 3 == 2 and x % 5 == 4 and x % 6 == 5 :
print('阶梯数是' , x)
x += 7
如果只找一个:
x = 7
while x < 701:
if x % 2 == 1 and x % 3 == 2 and x % 5 == 4 and x % 6 == 5 :
print('阶梯数是' , x)
break
x += 7 x = 7
i = 1
while i:
if (x%2==1)and(x%3==2)and(x%5==4)and(x%6==5):
print('阶梯数是',x)
break
else:
x = x + 7
i = i + 1
源代码if 最后加个ibreak达到条件跳出循环~ 找到合适的阶梯数后,应该用break结束循环
x = 7
i = 1
while i:
if (x%2==1)and(x%3==2)and(x%5==4)and(x%6==5):
print('阶梯数是',x)
break
else:
x = x + 7
i = i + 1 jackz007 发表于 2020-4-3 20:08
循环没有用对
如果一定要用 while
请问break怎么使用呢,我还没有学到 sunrise085 发表于 2020-4-3 20:11
找到合适的阶梯数后,应该用break结束循环
谢谢帮助 枫枫duck 发表于 2020-4-3 20:24
请问break怎么使用呢,我还没有学到
break 的作用是立即结束循环,在本例中,当找到并打印出第一个符合条件的 x 后,就可以考虑结束循环,当然,如果希望能在 7 ~ 700 的范围内找出所有符合条件的 x,那就可以选择继续,直到循环自然结束。
页:
[1]