鱼C论坛

 找回密码
 立即注册
查看: 1733|回复: 3

[已解决]P7 常用操作符的练习题--台阶问题

[复制链接]
发表于 2020-2-20 15:22:20 | 显示全部楼层 |阅读模式

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

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

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:
        i+=1
        x=7 *(i)
   

if flag==1:
    print('台阶数为:', x )
else:
    print('计算无结果')

这是我写的,求问大神,
1.为什么不能先i+=1,再x=7*i
2.i<=100,有什么用呢
3.倒数第四行为什么不是flag=1,而是flag==1
最佳答案
2020-2-20 15:27:25
1. 如果满足 if 的条件,就不会执行 else 了,x 和 i 不会改变,程序就陷入了死循环。

2. i <= 100 只是一个条件,限定 i 大于 100 时就退出循环。也可以设置成 i <= 200 或更大。

3. 这里是判断 flag 是否等于 1,不是为 flag 赋值
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-20 15:26:17 | 显示全部楼层
本帖最后由 qiuyouzhi 于 2020-2-20 15:33 编辑

1,因为你要用判断完的i去乘7,而不是新的i
2,标志范围,只在100以内(可以设置更大)
3,flag = 1是将flag赋值为1,如果写flag=1那么flag永远都是1,所以台阶数有可能是错误的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-20 15:27:25 | 显示全部楼层    本楼为最佳答案   
1. 如果满足 if 的条件,就不会执行 else 了,x 和 i 不会改变,程序就陷入了死循环。

2. i <= 100 只是一个条件,限定 i 大于 100 时就退出循环。也可以设置成 i <= 200 或更大。

3. 这里是判断 flag 是否等于 1,不是为 flag 赋值
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-21 11:16:52 | 显示全部楼层
如果楼主的问题已解决,请设置【最佳答案】。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-2 15:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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