鱼C论坛

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

[已解决]004尝试动手题目疑问

[复制链接]
发表于 2018-12-13 20:40:29 | 显示全部楼层 |阅读模式
10鱼币
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
这道题目中的print(' ', end = '')和 print('*', end = '')一直看不懂,有小伙伴能帮我把这小鱼老师的题目答案注释下吗?最好每一行都注释下。
最佳答案
2018-12-13 20:40:30
  1. temp = input('请输入一个整数:') #使用input函数让用户输入内容,并将这个内容传给变量temp,注意,通过input函数输入得到的是一个字符串类型的数据
  2. number = int(temp)   #因为temp是字符串类型的数据,但是我们需要的是一个整数,所以用int整型来把temp这个字符串数据变为整型数据,并且传给number
  3. while number:    #while循环 且number是循环条件,只要number不为0,条件一直为真,一直执行while循环
  4.     i = number - 1    #这里定义的i是为打印出空格准备的,通过分析题目可以知道,每一行的空格数比*号数少1
  5.     while i:   #这边的while循环是为了循环打印“每一行”正确个数的空格
  6.         print(' ', end = '')  #print函数,如果没有end = '',默认是换行,我们需要的是把每一行的空格打印在一行里,所以不能换行!
  7.         i = i - 1  #这里应该好理解,就是打下一行
  8.     j = number   #这边定义的一个变量j是为了答应*号准备的,根据题意,每一行*号个数跟与输入的数一直
  9.     while j:   #这边的while循环是为了循环打印“每一行”正确个数的*
  10.         print('*', end = '')
  11.         j = j - 1
  12.     print()  #换行,进入下面一行的打印,不然所有内容都打印在同一行,你可以把这个去掉,然后运行看看效果
  13.     number = number - 1  #执行下一行

  14.     #这边一共有三个while循环,举个最简单的例子!假如你输入的是2,那么结果应该是一共两行,第一行有1个空格还有2个*,第二行是0个空格1个*。  最外层的也就是第一个while循环可以理解为先打印第一行,然后再返回头打印下面每一行。 numer=2, while number,条件为真,往下走,i=1,while i,条件为真继续往下走,打印一个空格并且不换行,i=i-1=0,此时while i,条件为假,结束循环,往下走执行到j=number=2,while j,条件为真,答应一个*并且不换行,j=j-1=1,while j,条件依然为真,继续执行这里的循环,又打印一个*并且不换行,此时已经两个*了,往下走,j=j-1=0,while j,条件为假,结束循环,往下走,执行print(),这个是为了换行,然后执行number=number-1=2-1=1,回到第一个最外层的大循环,判断条件是否为真,while number,条件为真,下面重复上面的内容!
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-12-13 20:40:30 | 显示全部楼层    本楼为最佳答案   
  1. temp = input('请输入一个整数:') #使用input函数让用户输入内容,并将这个内容传给变量temp,注意,通过input函数输入得到的是一个字符串类型的数据
  2. number = int(temp)   #因为temp是字符串类型的数据,但是我们需要的是一个整数,所以用int整型来把temp这个字符串数据变为整型数据,并且传给number
  3. while number:    #while循环 且number是循环条件,只要number不为0,条件一直为真,一直执行while循环
  4.     i = number - 1    #这里定义的i是为打印出空格准备的,通过分析题目可以知道,每一行的空格数比*号数少1
  5.     while i:   #这边的while循环是为了循环打印“每一行”正确个数的空格
  6.         print(' ', end = '')  #print函数,如果没有end = '',默认是换行,我们需要的是把每一行的空格打印在一行里,所以不能换行!
  7.         i = i - 1  #这里应该好理解,就是打下一行
  8.     j = number   #这边定义的一个变量j是为了答应*号准备的,根据题意,每一行*号个数跟与输入的数一直
  9.     while j:   #这边的while循环是为了循环打印“每一行”正确个数的*
  10.         print('*', end = '')
  11.         j = j - 1
  12.     print()  #换行,进入下面一行的打印,不然所有内容都打印在同一行,你可以把这个去掉,然后运行看看效果
  13.     number = number - 1  #执行下一行

  14.     #这边一共有三个while循环,举个最简单的例子!假如你输入的是2,那么结果应该是一共两行,第一行有1个空格还有2个*,第二行是0个空格1个*。  最外层的也就是第一个while循环可以理解为先打印第一行,然后再返回头打印下面每一行。 numer=2, while number,条件为真,往下走,i=1,while i,条件为真继续往下走,打印一个空格并且不换行,i=i-1=0,此时while i,条件为假,结束循环,往下走执行到j=number=2,while j,条件为真,答应一个*并且不换行,j=j-1=1,while j,条件依然为真,继续执行这里的循环,又打印一个*并且不换行,此时已经两个*了,往下走,j=j-1=0,while j,条件为假,结束循环,往下走,执行print(),这个是为了换行,然后执行number=number-1=2-1=1,回到第一个最外层的大循环,判断条件是否为真,while number,条件为真,下面重复上面的内容!
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-12-13 22:48:57 | 显示全部楼层
temp = input('请输入一个整数:')          #输入整数
number = int(temp)       #将输入的数转为字符串
while number:          #while语句,只要number不为0就会一直循环
    i = number - 1         #这里到下面的while结束,都是为了打空格
    while i:                     #同样的,只要i不为0就会一直循环
        print(' ', end = '')        #这个是打印  ' '也就是空格,end=''''的意思用来结束这次print,建议你在IDLE里尝试下 print('我是A,',end='用B结束')你就会知道end=''的效果了
        i = i - 1         #让每一次循环i都回减1,最后i=0就会终止while
    j = number
    while j:
        print('*', end = '')
        j = j - 1
    print()
    number = number - 1   #让每一次循环number都减1,最后number=0就会终止while
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-12-13 23:24:48 | 显示全部楼层
(1) 第一种情况
print(' '')
print('*')
若执行以上两print函数,
则返回的结果是
         #空格
*       #星号

以上返回的结果 空格与星号不在同一行

(2)第二种情况,就是你说的情况

print(' ', end = '')
print('*', end = '')
若执行这两行代码,print函数,则返回的结果也是  空格与星号,不过他们在同一行
唯一区别是使用 end =  ''  可以与下一行代码输出结果相连在同一行,不用换行
        
     
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-12-14 04:36:33 | 显示全部楼层
够详细的了把。。。看懂了,请采纳。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-1 15:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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