子宁寜 发表于 2021-2-3 17:36:32

《零基础入门学习pyth》【短路逻辑和运算符优先级】作业求助

i = 1
FIND = False

while i < 100:
    if (steps % 2 == 1) and (steps % 3 == 2) and (steps % 5 == 4) and (steps % 6 == 5):
      FIND = True
      break
    else:
      steps = 7*(i + 1)
    i = i + 1

if FIND == True:
    print('阶梯数是:', steps)
else:
    print('在程序限定的范围内找不到答案!')

第十一讲的动动手这一道题想知道为什么红色部分steps = 7*(i + 1)的7不能设置成steps本身呢?
设置成steps自己之后,显示的结果是'在程序限定的范围内找不到答案!'
好奇。。。

qiuyouzhi 发表于 2021-2-3 17:37:47

那样的话,step会越来越大。
你带进去看看就知道了
而且你的代码的step没有初始化。

子宁寜 发表于 2021-2-3 18:12:27

qiuyouzhi 发表于 2021-2-3 17:37
那样的话,step会越来越大。
你带进去看看就知道了
而且你的代码的step没有初始化。

啊,steps初始化那一行我忘记copy&paste了,原程序里有。

就是这个是在7的倍数里找符合条件的一个有理数的,然后按理说就是要从7开始一个一个往上测试。这个地方如果把它换成7得到的output是119,但是方程steps不行,,,

你说的变大是说叠加运行的这个程序会变成
steps(n)=steps(n-1)*steps(n-2)*......steps(1)*(i+1)
的意思吗?

qiuyouzhi 发表于 2021-2-3 18:15:37

子宁寜 发表于 2021-2-3 18:12
啊,steps初始化那一行我忘记copy&paste了,原程序里有。

就是这个是在7的倍数里找符合条件的一个有理 ...

差不多

子宁寜 发表于 2021-2-3 18:36:58

qiuyouzhi 发表于 2021-2-3 18:15
差不多

好的!谢谢你!
原来这里放的话会无限累加!学到了!

851463351 发表于 2021-5-26 20:00:55

页: [1]
查看完整版本: 《零基础入门学习pyth》【短路逻辑和运算符优先级】作业求助