sajforever 发表于 2017-3-4 15:57:44

课后习题

实现一个功能
请输入一个整数:8
                              ********
                            *******
                         ******
                      *****
                   ****
               ***
            **
          *
代码如下
       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 = '')
这个语句作用是什么?为什么要循环7次
print('*', end = '')
这每次是打印几个*
print()
这句是什么作用

int2str 发表于 2017-3-4 15:57:45

print(' ', end = '')打印每行*前面的空格,end=‘’不换行
最后一行不打印空格,所以只循环7次
print('*', end = '')每次打印*个数由8递减至1
最后的print()是换行操作

greaysppos 发表于 2017-3-4 16:11:23

print(' ', end = '') 有 end="" 的语句,目的是为了消除回车的影响.
所以这个语句是控制 * 与 * 之间的间隙
print('*', end = '') 同理,这个语句就是为了 打印 *
print() 这个没有 end="" 那么以为着就会换行.但是里面没有内容,所以起到的是纯换行作用!

sajforever 发表于 2017-3-4 16:22:54

int2str 发表于 2017-3-4 16:08
print(' ', end = '')打印每行*前面的空格,end=‘’不换行
最后一行不打印空格,所以只循环7次
print('* ...

{:10_254:}谢谢你小伙伴

sajforever 发表于 2017-3-4 16:24:07

greaysppos 发表于 2017-3-4 16:11
print(' ', end = '') 有 end="" 的语句,目的是为了消除回车的影响.
所以这个语句是控制 * 与 * 之间的间 ...

{:7_113:} 谢谢你!

thexiosi 发表于 2017-3-7 10:32:30

print(' ', end = '')
这个语句作用是什么?为什么要循环7次
答:打印一个空格,请参考下面的“执行返回”:hello前有一个空格,你可以上机试试 :)。
>>> print(' ',end = '');print('hello')
hello
之所以要循环7次,是因为题目的要求:第一行是“8个*,前面7个空格”、第二行是“7个*,前面是6个空格”......最后一行是“1个*,前面没有空格”。代码首先需要显示第一行8个*,因此空格需要打印7个,也就是print(' ',end = '')循环7次

print('*', end = '')
这每次是打印几个*
答:与上面的类似,依次打印:8个*、7个*、......1个*
print()
这句是什么作用
答:作用是换行;请参考下面的代码上机试一下
>>> print("hello1");print();print("hello2")
hello1

hello2
另外,推荐使用 >>>help(print) 查看print的语法使用格式。
页: [1]
查看完整版本: 课后习题