鱼C论坛

 找回密码
 立即注册
查看: 1402|回复: 7

[已解决]派森第四节课小甲鱼布置的课后习题

[复制链接]
发表于 2018-9-12 18:07:14 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 丶不离不弃 于 2018-9-12 18:08 编辑

temp = input('请输入一个整数:')
number = int(temp)
while number:
    i = number - 1
    while i:
        print(' ', end = '')
        i = i - 1
    j = number
    while j:
        print('*', end = '')
        j = j - 1
    print()
    number = number - 1

小白对这个不是很明白:1.while循环不是条件不满足才跳出循环码,派森这里 while number 可以写成 while number < 1 吗?
                                      2.我对这个i 和j 不是很理解,它是表示行和列吗?,如果 number = 8,那么在第一行不是应该7个空格然后第八个空格后面是连续8个星号吗,各位大神可以帮我把这个程序详细注释一下吗?我实在有点转不过来弯。。。
                                     3.print()里面的end =''是什么意思啊?
最佳答案
2018-9-12 18:15:09
1. 是的,或者说条件满足才进入循环。不可以,因为 while number 是利用 number == 0 的时候作为结束循环的条件。如果 while number < 1 基本上就是不会进入循环的意思,一旦进入循环则会是死循环。
2. 跟行列没有关系。这个应该是打印图样吧
3. 以 '' 作为结束。默认是 end = '\n',回车(空一行)。以空字符作为结束的意思是不要换行~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-12 18:15:09 | 显示全部楼层    本楼为最佳答案   
1. 是的,或者说条件满足才进入循环。不可以,因为 while number 是利用 number == 0 的时候作为结束循环的条件。如果 while number < 1 基本上就是不会进入循环的意思,一旦进入循环则会是死循环。
2. 跟行列没有关系。这个应该是打印图样吧
3. 以 '' 作为结束。默认是 end = '\n',回车(空一行)。以空字符作为结束的意思是不要换行~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-12 18:42:44 | 显示全部楼层
claws0n 发表于 2018-9-12 18:15
1. 是的,或者说条件满足才进入循环。不可以,因为 while number 是利用 number == 0 的时候作为结束循环的 ...

这个程序执行while number里面的时候,是先将while i 先执行完直到i = 0再执行 while j 还是两个一起执行?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-12 18:51:43 | 显示全部楼层
丶不离不弃 发表于 2018-9-12 18:42
这个程序执行while number里面的时候,是先将while i 先执行完直到i = 0再执行 while j 还是两个一起执行 ...

代码都是由上到下的,所以是 while i 再 while j
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-12 19:08:02 | 显示全部楼层
本帖最后由 巨鲸落 于 2018-9-12 19:09 编辑

1+2回答如下:while后面的加的是条件,条件为真则执行循环体,否则不执行,循环体就是冒号后面下一行的内容
而你需要实现的是当循环条件成立时打印空格或者打印*,所以需要让while的条件默认满足,后面再去对不同的while条件进行修改,例如i只是引入的一个变量,当i这个条件成立时打印空格,但是i在循环体力会自动减一所以当i==0时while条件就不成立了,故第一个数字如果输入的是8那就会默认打印7个空格,“*”的情况同理
个人理解哈,我也是新手

需求样式,便于理解

需求样式,便于理解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-9-12 19:56:52 | 显示全部楼层
巨鲸落 发表于 2018-9-12 19:08
1+2回答如下:while后面的加的是条件,条件为真则执行循环体,否则不执行,循环体就是冒号后面下一行的内容 ...

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

使用道具 举报

 楼主| 发表于 2018-9-12 20:04:11 | 显示全部楼层
巨鲸落 发表于 2018-9-12 19:08
1+2回答如下:while后面的加的是条件,条件为真则执行循环体,否则不执行,循环体就是冒号后面下一行的内容 ...

请问在这个程序的后面print()这个是多余的吗,有啥用呀?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-17 21:03:14 From FishC Mobile | 显示全部楼层
我理解是打印图中最后一个空行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 17:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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