xuhuimingdeyuc 发表于 2017-5-7 21:51:43

004 动动手课后练习2

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

   为什么这里会出现字母‘J’,不明白这些代码的逻辑思维。我的理解是:
   i = number - 1
    while i:
      print(' ', end = '')
      i = i - 1

这段代码中,比如我输入数字5,程序会执行i = number - 1,就是5-1 ;
                                                       while i:    循环 i
                                                       print(' ', end = '')      循环体打印无内容,end = '' 用空格替代自动换行,之前输入是数字5,所以空格5次?
                                                      i = i - 1         防止继续无限打印??特别不懂这句代码的作用

j = number
    while j:
      print('*', end = '')
      j = j - 1
    print()
    number = number - 1

这段就更加不明白了?

end = ''   的作用是用空格代替自动换行啊。那么打印的结果不应该是   * * * * *    (每出现一个*后,不是应该空格一次再* 吗)
    答案怎么是一连出现5个*****,中间不会有空格?

ButcherRabbit 发表于 2017-5-7 22:04:25

end = ''这个是代替print里的默认参数end = '\n',你也理解错了end = '',是代替换行,但''引号里面没有空格哦
end = ' ',这种有空格的话,就会像你说的那样:空格代替自动换行啊。那么打印的结果不应该是   * * * * *    (每出现一个*后,不是应该空格一次再* 吗)

print(' ', end = '')   这一句循环空格5次是这个参数' ',而不是后面end=''

i = i - 1         防止继续无限打印??特别不懂这句代码的作用:
这一句,前面是不是有个while i:,要执行while语句里面的内容,只有i是非0非flase,就行,循环执行到第5次的时候,i=0,那么就不执行while语句里面的内容了

j = number    number的值赋给j
    while j:   
      print('*', end = '')    打印*,且不换行
      j = j - 1   
    print()                   当while j:不执行后,打印空行,相当于print(end='\n')
    number = number - 1   

还有不懂的可以回复给我(你可以在IDLE里输入:help(print)    和help(while)了解这两个语句)

xuhuimingdeyuc 发表于 2017-5-8 10:36:09

ButcherRabbit 发表于 2017-5-7 22:04
end = ''这个是代替print里的默认参数end = '\n',你也理解错了end = '',是代替换行,但''引号里面没有空 ...

看完你的回复,以下是我一部分的理解:
end = ''   作用只是不换行
end = ' '   作用是空格且不换行
i是负责打印空格数量;
j是赋值后有内容地打印
疑问:为什么是j,不可以是26个字母其他一个吗

ButcherRabbit 发表于 2017-5-8 11:39:01

xuhuimingdeyuc 发表于 2017-5-8 10:36
看完你的回复,以下是我一部分的理解:
end = ''   作用只是不换行
end = ' '   作用是空格且不换 ...

可以使26个字母的任意一个,不过我们一般都是按元素作用命名,如for each in range(10)

xuhuimingdeyuc 发表于 2017-5-8 14:38:33

好吧,我没元素那方面的知识点
页: [1]
查看完整版本: 004 动动手课后练习2