cyangyy 发表于 2017-6-6 14:21:00

python第6课 课后作业 算台阶

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('在程序限定的范围内找不到答案!')

求人解析,看不懂这个代码~~~~·{:10_266:}{:10_266:}{:10_266:}

ButcherRabbit 发表于 2017-6-6 17:36:02

x = 7
i = 1
flag = 0

while i <= 100:                                                                                  #当i<= 100 执行while里面的语句(一直循环,直到i>100跳出循环)
    if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):    #假如x对2求余,的余数等于1,且x对3求余,的余数等于2.....
      flag = 1                                                                                    #执行:把1赋值给flag
    else:                                                                                             #if条件不成立,执行下面语句
      x = 7 * (i+1) # 根据题意,x一定是7的整数倍,所以每次乘以7   #把7*(i +1) 赋值给x
    i += 1                                                                                          #i = i+1

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

Messj 发表于 2017-6-6 17:50:26

楼上正解

cyangyy 发表于 2017-6-7 09:00:35

ButcherRabbit 发表于 2017-6-6 17:36
x = 7
i = 1
flag = 0


好吧 可能是我的提问 有问题~~~对不起,请问这个是怎么算出来结果的??为什么要假设一个flag?这个算法是怎么一回事??我是这个没明白···

cyangyy 发表于 2017-6-7 09:06:13

ButcherRabbit 发表于 2017-6-6 17:36
x = 7
i = 1
flag = 0


还有个问题为什么只循环100次····万一100次找不到答案是不是就要循环200次2000次?为什么x=7*(i+1)??i+1 是 什么意思??

ButcherRabbit 发表于 2017-6-7 17:45:45

cyangyy 发表于 2017-6-7 09:06
还有个问题为什么只循环100次····万一100次找不到答案是不是就要循环200次2000次?为什么x=7* ...

http://www.runoob.com/python/python-while-loop.html
希望能帮到你,你对while循环不是很理解,多看看这个教程就理解了
while条件:      当条件成立执行while里面的值,你只要记住while 0:   和while Flase:两个不去执行while语句里面的循环就行

这题的whilei<=100:且while语句里面i = i +1 对吧,i = 0 ,while 0<=100对吧,执行while里面的语句。i = 0+1 ;while 1<=100对吧,执行while里面的语句。i = 1+1 ;依次类推,while 101 <=100:条件不成立,就不执行while里面的语句喽

flag = 0 是为了if flag == 1:做判断用的,方便输出阶梯数x
页: [1]
查看完整版本: python第6课 课后作业 算台阶