鱼C论坛

 找回密码
 立即注册
查看: 1551|回复: 5

[已解决]老哥们,我又来问问题了

[复制链接]
发表于 2019-11-14 01:40:51 From FishC Mobile | 显示全部楼层 |阅读模式

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

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

x
Print ()小甲鱼给的解释是默认打印完字符串,自动添加换行符。
end=’’是用空格代替换行符。我有几个问题如下:
1.图中第12行这个print()是什么意思?可不可以不要?
2.比如我输入8,第6行print (‘’,end=‘’)这里end=是什么意思,按我的理解来说就是打印7个空格就完事了,执行下一步,这个end= 看不懂什么意思,没有存在的必要。再说我用空格代替换行符,还是没有换行啊。。。还是在后面接着打啊。。。
3.这个程序是一次一次循环还是等i全部循环完毕再循环j?
新手学这个好难啊,一大堆问题不懂,可是我真的想把这个学好,唉……
最佳答案
2019-11-14 09:30:16
一、12行的print是为了换行,print在end未定义的情况下默认为打印完后换行
二、第六行end = ''定义了end意味着结尾不再是换行而是一个空的内容,这样后面可以继续输入'*'号而不会换行输入
三、是等i全部循环完再进入j的循环,然后开始下一轮的大的循环while number:     直到number为0为止
Python编程其实不难入门,了解好缩进就能很容易阅读代码了。
27657513-58CD-4AFF-86E8-706AA9B622F0.jpeg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-11-14 02:48:32 From FishC Mobile | 显示全部楼层
先打空格,再打星号,到12行的print时,就为了换行,然后再继续打,每次换行number会减去1,直到number为0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-14 09:30:16 | 显示全部楼层    本楼为最佳答案   
一、12行的print是为了换行,print在end未定义的情况下默认为打印完后换行
二、第六行end = ''定义了end意味着结尾不再是换行而是一个空的内容,这样后面可以继续输入'*'号而不会换行输入
三、是等i全部循环完再进入j的循环,然后开始下一轮的大的循环while number:     直到number为0为止
Python编程其实不难入门,了解好缩进就能很容易阅读代码了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-14 09:41:17 From FishC Mobile | 显示全部楼层
本帖最后由 jackz007 于 2019-11-14 09:48 编辑

1、因为第 6 行
  1.     print(' ' , end .= '')
复制代码

        和第 10 行
  1.     print('*' , end .= '')
复制代码

        都不换行,所以,为了避免所有内容都挤在同一行输出,在输出完一行的内容以后,需要换行,第 12 行这个 print() 语句就是专门换行的,至于可不可以不要,你完全可以把它删掉,看看效果可不可以接受不就明白了?

2、end 是 print() 函数的命名可选参数,缺省值是 end = '\n',就是说,在输出完信息后,会自动在信息的最后添加回车符换行,如果指定了 end = '' ,那么,print() 函数输出完信息后,就不再回车换行了。
3、第 3 行的 while number: 和后面的第 5、9 行的 while i:、while j: 分别构成嵌套循环,其中,第 3 行是外层循环,第 5、9 行是内层循环,对于嵌套循环而言,遵循先内后外的顺序,外层走一步,内层走一圈。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2019-11-14 16:22:13 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-14 18:40:58 | 显示全部楼层
首先,咱们把 print 函数的说明看了吧。
  1. >>> help(print)
  2. Help on built-in function print in module builtins:

  3. print(...)
  4.     print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
  5.    
  6.     Prints the values to a stream, or to sys.stdout by default.
  7.     Optional keyword arguments:
  8.     file:  a file-like object (stream); defaults to the current sys.stdout.
  9.     sep:   string inserted between values, default a space.
  10.     end:   string appended after the last value, default a newline.
  11.     flush: whether to forcibly flush the stream.

  12. >>>
复制代码

咱们找找翻译:
将值打印到流,或默认打印到sys.stdout。
可选关键字参数:
file: 类似文件的对象(流);默认为当前的sys.stdout。
sep: 在值之间插入的字符串,默认为空格。
end: 追加在最后一个值之后的字符串,默认为换行符。
flush: 是否强制输出到流

那么,咱们一行一行的分析吧。
01. 获取输入的数据,并存到 temp 变量
02. 将 temp 变量转化为 整数类型 并保存到新的变量 number
03. 判断 q:(number 不等于 0):#如果 命题q 为真,那么执行04.至13.的代码,否则不执行
04.         定义变量 i 并赋初值为 number - 1
05.         判断 p:(i 不等于 0):#如果 命题p 为真,那么执行06.至07.的代码,否则不执行
06.                 打印一个空格   #这里的end=''起到的作用是让默认追加在最后的换行符改成什么都不打印
07.                 i 自减 1,然后回到05.行
08.         定义变量 j 并赋初值为 number
09.         判断 t:(j 不等于 0):#如果 命题t 为真,那么执行10.至11.的代码,否则不执行
10.                 打印一个星号   #这里的end=''和06.行效果一样
11.                 j 自减 1,然后回到09.行
12.         打印一个换行符
13.         number 自减 1,然后回到03.行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 17:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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