第七课作业
爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。使用代码(我知道这很愚蠢,但初学者没什么思路)
i=1 and a=0
while a<1:
if i%2==1 and i%3==2 and i%5==4 and i%6==5 and i%7==0:
print (i)
i = i+1
else:
i=i+1
的问题在哪?
代码改成这样吧,你的 赋值不能写同一行 然后 写个 and这样是错误的语法哈
还有之前你的 a 的条件是死循环,这样会导致程序一直走下去的
参考代码:
i = 1
a = 0
while a < 1000:
if i % 2 == 1 and i % 3 == 2 and i % 5 == 4 and i % 6 == 5 and i % 7 == 0:
print(i)
a = a + 1
i = i + 1 a没变化?那while a<1不是一直运行,是不是就死循环了? 在这里a的目的是为了无限循环直到我主动要求停止程序 Twilight6 发表于 2020-8-24 17:51
代码改成这样吧,你的 赋值不能写同一行 然后 写个 and这样是错误的语法哈
还有之前你的 a 的条件是 ...
明白了,感谢大佬。但是如果要符合题目要求找出那最小的唯一的一个数要怎么做? spontaneous 发表于 2020-8-24 18:06
明白了,感谢大佬。但是如果要符合题目要求找出那最小的唯一的一个数要怎么做?
可以这样
i = 1
a = 0
while a != 1:
if i % 2 == 1 and i % 3 == 2 and i % 5 == 4 and i % 6 == 5 and i % 7 == 0:
print(i)
a =1
i = i + 1
and是逻辑判断,会导致所在那一行的返回值变为布尔类型,如果要在一行赋值也是用逗号,通常为了阅读方便,这种简单的小程序赋值都是分行的。 只找最小的一个可以在print下面加一句break。当然 前面的赋值你还是需要改成
i = 1
a = 0这样
页:
[1]