鱼C论坛

 找回密码
 立即注册
查看: 3142|回复: 4

第四讲的课后习题里有一道不明白 求助

[复制链接]
发表于 2015-12-24 16:27:41 | 显示全部楼层 |阅读模式

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

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

x
题目
7665A336-080D-40B4-A30D-5B6A925135A1.png

这时小甲鱼给出的答案
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

看了很久实在看不明白呀
while循环里面还有while循环 具体实施怎么执行的呢
还有,end = “”这又是什么:dizzy:
倒数第二行print()这个括号里什么也没有又是什么意思 囧
求解答啦~~~~
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-12-24 17:05:55 | 显示全部楼层
本帖最后由 VVFock3r 于 2015-12-24 17:08 编辑
  1. temp = input('请输入一个整数:')
  2. number = int(temp)
  3. while number:
  4.     i = number - 1
  5.     while i:
  6.         print(' ', end = '')
  7.         i = i - 1
  8.     j = number
  9.     while j:
  10.         print('*', end = '')
  11.         j = j - 1
  12.     print()
  13.     number = number - 1
复制代码

输出结果如下:
  1. 请输入一个整数:10
  2.          **********
  3.         *********
  4.        ********
  5.       *******
  6.      ******
  7.     *****
  8.    ****
  9.   ***
  10. **
  11. *
复制代码

大概的说一下:
1.每输出一行就意味着while number循环一次,这是一个大循环
  1. while number:
  2.     ...
复制代码

2.while i:循环在每一行输出不定长的空白字符,print(' ', end = '')输出空白字符,end是干啥的呢?默认的print()函数输出会换行的,end指定了换行符是什么,在Linux默认是'\n',windows上的话好像是‘\r\n',为空的话就是不换行了,比如
  1. In [3]: n = 1

  2. In [4]: while n < 5:
  3.    ...:     print('*')
  4.    ...:     n += 1
  5.    ...:     
  6. *
  7. *
  8. *
  9. *
  10. In [7]: m = 1

  11. In [8]: while m < 5:
  12.    ...:     print('*', end='')
  13.    ...:     m += 1
  14.    ...:     
  15. ****
复制代码

3. while j:循环也是同样的道理,输出不定长"*",while j:循环完成后,第一行输出结果,输出一个空行,开始第二行循环
不懂欢迎追问
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2015-12-24 17:14:03 | 显示全部楼层
最外的while只控制打印每行,里面的第一个while是控制打印空格,第二个是打印*
print如果没有加end=''会再打印个换行
倒数第二行print()是一行的空格和*打印完毕,再输出的换行。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2015-12-24 17:30:28 | 显示全部楼层
VVFock3r 发表于 2015-12-24 17:05
输出结果如下:

大概的说一下:

讲得好清楚 看明白了~~~~~谢谢~~~~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-24 17:32:54 | 显示全部楼层
冬雪雪冬 发表于 2015-12-24 17:14
最外的while只控制打印每行,里面的第一个while是控制打印空格,第二个是打印*
print如果没有加end=''会再 ...

谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-18 21:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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