鱼C论坛

 找回密码
 立即注册
查看: 2012|回复: 8

05,06课答案的有的代码看得不是很懂

[复制链接]
发表于 2016-9-26 06:11:20 | 显示全部楼层 |阅读模式

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

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

x
1)
i = 0  (请问这里i为什么赋值为0,后面又对它定义区间进行循环呢?)
while i <= 100:
    if i % 2 != 0:
        print(i, end=' ')
        i += 1
    else:
        i += 1

2)
x = 7(请问,为什么这里的x = 7要被提出来呢?)
i = 1
flag = 0(请问为什么这里的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('在程序限定的范围内找不到答案!')
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-26 08:41:33 | 显示全部楼层
第一个程序是打印奇数,不赋初值没法进行下面的循环,当然你要赋初值为1也可以。
第二个程序的结果是7的倍数,赋初值肯定赋7啊,不可能赋0吧?flag是标记(flag为1表示已找到该数,为0表示还没找到该数),你以后会碰到很多进行标记的数,通常都是需要赋初值的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-26 10:32:30 | 显示全部楼层
要进行循环语句,变量就必须有数值;
因为我们需要的都是7的倍数,所以用7会很方便;
flag很常用,可以用作标记~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-26 17:22:20 | 显示全部楼层
本帖最后由 changhaitian 于 2016-9-26 17:25 编辑

我可能没表达清楚,其实第二题7的倍数,我的意思是,为什么不把它if 语句里,而是单独提出来,写成 (x%7==0)不行么?
谢谢解答!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-26 17:23:24 | 显示全部楼层

RE: 05,06课答案里有的代码看得不是很懂

蛋炒饭妖妖 发表于 2016-9-26 10:32
要进行循环语句,变量就必须有数值;
因为我们需要的都是7的倍数,所以用7会很方便;
flag很常用,可以用 ...

我可能没表达清楚,其实第二题7的倍数,我的意思是,为什么不把它if 语句里,而是单独提出来,写成 (x%7== 0)不行么?
谢谢解答!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-26 17:25:50 | 显示全部楼层
lalalla 发表于 2016-9-26 08:41
第一个程序是打印奇数,不赋初值没法进行下面的循环,当然你要赋初值为1也可以。
第二个程序的结果是7的倍 ...

我可能没表达清楚,其实第二题7的倍数,我的意思是,为什么不把它if 语句里,而是单独提出来,写成 (x%==0)不行么?
谢谢解答!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-26 18:17:52 | 显示全部楼层
changhaitian 发表于 2016-9-26 17:25
我可能没表达清楚,其实第二题7的倍数,我的意思是,为什么不把它if 语句里,而是单独提出来,写成 (x%= ...

x=7只是个基础条件  答案是从x为7的倍数为基础 一步步完成一系列的要求
这样的话 无形中就少了很多的步骤
如果你要以x为渐进条件 中间就会需要走很多步骤   可能前期看不出什么效果
  但是如果在别的程序里这么写  会要花很多的时间去运行的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-26 18:18:45 | 显示全部楼层
changhaitian 发表于 2016-9-26 17:25
我可能没表达清楚,其实第二题7的倍数,我的意思是,为什么不把它if 语句里,而是单独提出来,写成 (x%= ...

至少  如果我一开始就限定X为7的倍数  就可以筛出非7倍数的数字了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-27 04:24:31 | 显示全部楼层
jxz8777 发表于 2016-9-26 18:18
至少  如果我一开始就限定X为7的倍数  就可以筛出非7倍数的数字了

多谢解答,俺是菜鸟还在慢慢爬,需要多练习。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-23 00:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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