鱼C论坛

 找回密码
 立即注册
查看: 728|回复: 6

[已解决]第006讲爱因斯坦的阶梯求解循环时的一个疑问

[复制链接]
发表于 2020-3-6 11:16:47 | 显示全部楼层 |阅读模式

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

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

x
我在参考小甲鱼的代码后,写了下述代码,不同之处在于while后面的条件我写的是x <= 200,小甲鱼的参考答案中是i <= 100。奇怪的是我的代码运行后是空白页面,没报错也没反应,想知道我的思路出了什么问题,肯定大神赐教!
x=7
i=1
flag=0

while x <= 200:
    if (x%2==1) and (x%3==2) and (x%5==4) and (x%6==5) and (x%7==0):
        flag=1
    else:
        x=7*(i+1)
    i += 1
    
if flag==1:
    print('阶梯数为',x)
else:
    print('目前指定范围无此阶梯数')
最佳答案
2020-3-6 11:19:03
符合条件之后就要跳出循环了:
x=7
i=1
flag=0

while x <= 200:
    if (x%2==1) and (x%3==2) and (x%5==4) and (x%6==5) and (x%7==0):
        flag=1
        break
    else:
        x=7*(i+1)
    i += 1
    
if flag==1:
    print('阶梯数为',x)
else:
    print('目前指定范围无此阶梯数')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-6 11:19:03 | 显示全部楼层    本楼为最佳答案   
符合条件之后就要跳出循环了:
x=7
i=1
flag=0

while x <= 200:
    if (x%2==1) and (x%3==2) and (x%5==4) and (x%6==5) and (x%7==0):
        flag=1
        break
    else:
        x=7*(i+1)
    i += 1
    
if flag==1:
    print('阶梯数为',x)
else:
    print('目前指定范围无此阶梯数')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-6 11:20:24 | 显示全部楼层
当 x 符合要求时执行 if 下面的内容。if 中没有改变 x,所以 x 永远不会 <= 200 。

如果硬要这样就加上一个 break ,表示一找到符合条件的数就跳出循环。代码:
x = 7
i = 1
flag = 0

while x <= 200:
    if (x % 2 == 1) and (x % 3 == 2) and (x % 5 == 4) and (x % 6 == 5) and (x % 7 == 0):
        flag = 1
        break
    else:
        x = 7 * (i + 1)
    i += 1

if flag == 1:
    print('阶梯数为', x)
else:
    print('目前指定范围无此阶梯数')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-6 11:28:42 | 显示全部楼层
qiuyouzhi 发表于 2020-3-6 11:19
符合条件之后就要跳出循环了:

好的,明白了,谢谢你!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-6 11:29:18 | 显示全部楼层
zltzlt 发表于 2020-3-6 11:20
当 x 符合要求时执行 if 下面的内容。if 中没有改变 x,所以 x 永远不会

好的,非常感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-29 17:44:36 From FishC Mobile | 显示全部楼层
zltzlt 发表于 2020-3-6 11:20
当 x 符合要求时执行 if 下面的内容。if 中没有改变 x,所以 x 永远不会

新人有点懵。请问为什么一开始会想到用100这个值而不是其他呢?依据是什么呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-29 17:53:06 | 显示全部楼层
Miss_Choco 发表于 2020-4-29 17:44
新人有点懵。请问为什么一开始会想到用100这个值而不是其他呢?依据是什么呢?

100 不是固定的,可以换成其他的,比如 50 、200,只是不要低于 阶梯数 / 7 就行了(不然在指定的范围内找不到阶梯数)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-27 01:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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