鱼C论坛

 找回密码
 立即注册
查看: 4432|回复: 5

[已解决]python第6课 课后作业 算台阶

[复制链接]
发表于 2017-6-6 14:21:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

求人解析,看不懂这个代码~~~~·
最佳答案
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语句里面的循环就行

这题的while  i<=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

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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('在程序限定的范围内找不到答案!')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-6 17:50:26 From FishC Mobile | 显示全部楼层
楼上正解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-7 09:00:35 | 显示全部楼层

好吧 可能是我的提问 有问题~~~对不起,请问这个是怎么算出来结果的??为什么要假设一个flag?这个算法是怎么一回事??我是这个没明白···
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-7 09:06:13 | 显示全部楼层

还有个问题  为什么只循环100次····万一100次找不到答案  是不是就要循环200次  2000次?为什么x=7*(i+1)??i+1 是 什么意思??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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语句里面的循环就行

这题的while  i<=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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 18:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表