鱼C论坛

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

[已解决]004讲课后作业求助~

[复制链接]
发表于 2020-7-22 13:48:18 | 显示全部楼层 |阅读模式

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

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

x
动手题第2题,代码完全没看明白,循环时打印空格和*是按什么规律排列的?求各位大神帮忙讲讲
最佳答案
2020-7-22 13:55:42


提问时,把问题、题目、代码都附带上

循环打印空格和 * 号 是从图中可以发现,空格数量 和 * 号数量是一致的,所以通过在 while 循环来打印相同个数的 空格 和 * 号

打印时候的 end 参数把原先默认的 end = '\n' 换行符给覆盖, 所以 print 过程没有换行

然后最后的 print() 是起到换行的效果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-22 13:55:42 | 显示全部楼层    本楼为最佳答案   


提问时,把问题、题目、代码都附带上

循环打印空格和 * 号 是从图中可以发现,空格数量 和 * 号数量是一致的,所以通过在 while 循环来打印相同个数的 空格 和 * 号

打印时候的 end 参数把原先默认的 end = '\n' 换行符给覆盖, 所以 print 过程没有换行

然后最后的 print() 是起到换行的效果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-23 15:46:20 | 显示全部楼层
Twilight6 发表于 2020-7-22 13:55
提问时,把问题、题目、代码都附带上

循环打印空格和 * 号 是从图中可以发现,空格数量 和 * 号数量 ...

temp = input('请输入一个整数:')
number = int(temp)
while number:  #此处number的意思是当number有值时开始循环吗?
    i = number - 1  #此处为什么要number - 1 呢?
    while i:
        print(' ', end = '')   #这个循环的是把所有空格打印出来终止循环;还是先打印第7行的空格然后进行下一步循环(while j),直到第0行。while循环的终止条件是什么,几个while循环一起运行时的逻辑是什么(此题为例,如果能给一个流程图十分感谢,)
        i = i - 1
    j = number
    while j:
        print('*', end = '')
        j = j - 1
    print()
    number = number - 1

新手问的问题比较幼稚,感谢版主大大的帮助,十分感谢~!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-23 15:50:13 | 显示全部楼层
yang141210 发表于 2020-7-23 15:46
temp = input('请输入一个整数:')
number = int(temp)
while number:  #此处number的意思是当number有 ...


是把所有空格打印出来,知道 i 减到 0 退出循环

同理 while j 也是一样,循环过程一直打印 * ,直到 j == 0 退出循环

多个while 也没什么逻辑哈,就是按代码顺序下来运行的,这个循环结束,才会执行这个循环下面的代码

所以这里 while i 在 while j 前面,那么每次大循环都是先执行 while i ,直到 while i 循环执行完毕,才到 while j
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-23 15:57:11 | 显示全部楼层
Twilight6 发表于 2020-7-23 15:50
是把所有空格打印出来,知道 i 减到 0 退出循环

同理 while j 也是一样,循环过程一直打印 * ,直到 ...

while 循环的终止条件是 i == 0吗? 为什么?还有for循环中,for _ in range  的下划线是什么意思?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-23 16:00:59 | 显示全部楼层
yang141210 发表于 2020-7-23 15:57
while 循环的终止条件是 i == 0吗? 为什么?还有for循环中,for _ in range  的下划线是什么意思?

_ 也可以作为普通变量名 这里的 for _ in 就是普通的 for 循环而已,比如 for i in  、 for x in

条件都是看布尔类型值的,要么为 True 要么为 False ,而数字只要不为 0 都可以看成 True

0 == False , 1 == True
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-23 16:01:49 | 显示全部楼层
yang141210 发表于 2020-7-23 15:57
while 循环的终止条件是 i == 0吗? 为什么?还有for循环中,for _ in range  的下划线是什么意思?

row = int(input('请输入行数: '))
for i in range(row):
    for _ in range(row):
        print('*', end='')
    print()
这个是我在网上找的程序,您能给我讲讲这个是咋回事吗?谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-23 16:02:20 | 显示全部楼层
Twilight6 发表于 2020-7-23 15:50
是把所有空格打印出来,知道 i 减到 0 退出循环

同理 while j 也是一样,循环过程一直打印 * ,直到 ...

row = int(input('请输入行数: '))
for i in range(row):
    for _ in range(row):
        print('*', end='')
    print()
这个是我在网上找的程序,您能给我讲讲这个是咋回事吗?谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-23 16:21:50 | 显示全部楼层
Twilight6 发表于 2020-7-23 16:00
_ 也可以作为普通变量名 这里的 for _ in 就是普通的 for 循环而已,比如 for i in  、 for x in

条件 ...

row = int(input('请输入行数: '))
for i in range(row):
    for _ in range(row):
        print('*', end='')
    print()
这个是我在网上找的程序,您能给我讲讲这个是咋回事吗?for 循环是怎么循环的,也跟while循环一样吗?把循环体走完再走下一个循环吗?谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-19 20:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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