鱼C论坛

 找回密码
 立即注册
查看: 3237|回复: 9

关于while的执行顺序和end = ''的使用

[复制链接]
发表于 2016-8-21 12:04:47 | 显示全部楼层 |阅读模式

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

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

x
这是第004讲中小甲鱼给出的答案
  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
复制代码

在这种情况下输入3,得到的答案是这样的
  1. ***
  2. **
  3. *
复制代码

当去掉第6行的end=''后
  1. temp = input('请输入一个整数:')
  2. number = int(temp)
  3. while number :
  4.     i = number - 1
  5.     while i:
  6.         print('')
  7.         i = i - 1
  8.     j = number
  9.     while j :
  10.         print('*',end = '')
  11.         j = j - 1
  12.     print()
  13.     number = number - 1
复制代码

得到的答案是这样的


  1. ***

  2. **
  3. *
复制代码

当只去掉第10行的end=''后
  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('*')
  11.         j = j - 1
  12.     print()
  13.     number = number - 1
复制代码

情况又是这样的
  1. *
  2. *
  3. *

  4. *
  5. *

  6. *

复制代码

两个都去掉
  1. temp = input('请输入一个整数:')
  2. number = int(temp)
  3. while number :
  4.     i = number - 1
  5.     while i:
  6.         print('')
  7.         i = i - 1
  8.     j = number
  9.     while j :
  10.         print('*')
  11.         j = j - 1
  12.     print()
  13.     number = number - 1
复制代码

是这样的


  1. *
  2. *
  3. *


  4. *
  5. *

  6. *

复制代码

小甲鱼给的答案里3个while的执行顺序是怎样的呢?end=''用空格代替自动换行是怎么回事?能举些例子吗?拜托了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-8-21 12:10:47 | 显示全部楼层
>>> help(print)
Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
   
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-21 12:12:03 | 显示全部楼层
善用 help()
不懂英语,就用百度慢慢翻译~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-21 12:43:26 | 显示全部楼层
这块我也没看 明白
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-21 16:03:22 | 显示全部楼层
绿色钥匙 发表于 2016-8-21 12:43
这块我也没看 明白

想了一下稍微明白了,其实还可以这样写,小甲鱼的答案有点累赘
  1. temp = input('请输入一个数字:')
  2. number = int(temp)
  3. while number :
  4.     i = number
  5.     while i :
  6.         print('*',end = '')
  7.         i = i - 1
  8.     print()
  9.     number = number - 1
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-21 20:08:13 | 显示全部楼层
rickie7 发表于 2016-8-21 16:03
想了一下稍微明白了,其实还可以这样写,小甲鱼的答案有点累赘

你的和小甲鱼的结果不一样,小甲鱼的是先执行打印(隔空),然后在循环*,最后再来大循环
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-22 12:56:34 | 显示全部楼层
寒园 发表于 2016-8-21 20:08
你的和小甲鱼的结果不一样,小甲鱼的是先执行打印(隔空),然后在循环*,最后再来大循环

知道你的意思了,我的是因为鱼币在网上找的课后,刚去论坛里的看了下才发现抄的时候print' '中的空格给我省了,结果就不同了。sorry
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-22 19:01:55 | 显示全部楼层
本帖最后由 carbont 于 2016-8-22 19:13 编辑

怎么我的简单这么多……
我是完全没有编程基础的,使用的内容基本上就只有鱼C教的内容……

  1. X = input('请输入一个整数:')
  2. i = int(X)
  3. while i > 0:                   #当i=0时跳出
  4.     print(' '*(i-1)+'*'*i)   #打印(i-1)次空格,再连上i次*
  5.     i -= 1                        #打印一次少一次
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-22 19:04:23 | 显示全部楼层
本帖最后由 carbont 于 2016-8-22 19:14 编辑

出来的结果:

  1. 请输入一个整数:8
  2.        ********
  3.       *******
  4.      ******
  5.     *****
  6.    ****
  7.   ***
  8. **
  9. *
复制代码

还是说我没看懂题目??
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-23 15:51:03 | 显示全部楼层
carbont 发表于 2016-8-22 19:04
出来的结果:

还是说我没看懂题目??

大神,您在第5行的时候相当于同时执行了2个语句您说您的能不简单吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-22 08:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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