a6492765 发表于 2016-7-10 03:52:41

关于python的第006讲阶梯问题...

x = 7
i = 1
flag = 0

while i <= 100:
    if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
      flag = 1
    else:
      x = 7 * (i+1) # 根据题意,x一定是7的整数倍,所以每次乘以7
    i += 1

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

这里的 x i flag 各表示什么? 最不明白的其实是flag赋值的含义~

还有就是在python里 最开始赋值时有什么技巧吗 我试过给X I 赋值其他数字

也是可以运行的{:10_266:}

最好可以逐句的分析一下 我的脑子笨却总是不想就这么忽略过去

我知道这问题小白到让人脸红 但是我还是红着脸问了 有好心的朋友蘑菇君在这里谢过了~

云飘飘 发表于 2016-7-10 03:52:42

这个程序是把700及以下的所有7的倍数依次测试,依次返回阶梯数
x = 7
i = 1
flag = 0       #声明三个变量,让X初始值为7是为了从最小的7开始,以后X会依次为14,21。。。i的初始值不重要,但whilei<=m,m的值与i的值要相差99,i+=1可用于改变x的值,否则x的值不会改变,循环无法进行。flag用来代表一种情况,像一面清晰的旗帜,指明程序的走法,if flag == 1就是指明走法。

while i <= 100:
    if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
      flag = 1
    else:
      x = 7 * (i+1) # 根据题意,x一定是7的整数倍,所以每次乘以7
    i += 1

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

a6492765 发表于 2016-7-10 16:20:18

云飘飘 发表于 2016-7-10 08:23
这个程序是把700及以下的所有7的倍数依次测试,依次返回阶梯数
x = 7
i = 1


明白了 谢谢啦~{:10_281:}
页: [1]
查看完整版本: 关于python的第006讲阶梯问题...