laiyfe 发表于 2021-12-22 23:33:49

新手求助

x = 7
i = 1
flag = 0

while i <= 90:
    if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5) and (x%7 == 0):    #为什么不能把%7放在这里进行?
      flag = 1
      x = 7 * (i + 1)    #为什么不能把运算放在这里进行?执行的时候执行不了这里
    else:
      i += 1

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


问题在代码中红色字体处,可不可以按照这种思路修改成功执行呢?

傻眼貓咪 发表于 2021-12-22 23:43:30

那么你就以你的思路修改看看结果吧

laiyfe 发表于 2021-12-22 23:48:36

傻眼貓咪 发表于 2021-12-22 23:43
那么你就以你的思路修改看看结果吧

就是不行,所以才请大神帮忙回答和改写一下,根本执行不到x=7*(i+1)这里,不明白为什么这里不执行

傻眼貓咪 发表于 2021-12-23 00:03:52

你的 x 初始值是 7,不符合 if 条件,永远进不去 if 条件里面怎样改变 x 值呢?你的代码 else 只改变 i

laiyfe 发表于 2021-12-23 00:13:57

傻眼貓咪 发表于 2021-12-23 00:03
你的 x 初始值是 7,不符合 if 条件,永远进不去 if 条件里面怎样改变 x 值呢?你的代码 else 只改变 i

谢谢提醒,瞬间想明白了
页: [1]
查看完整版本: 新手求助