贾雨村 发表于 2020-11-20 07:40:53

格式

请问为什么加print() 就可以形成九九乘法表的格式,而不加就不是乘法表的形式呢
>>> i = 1
    >>> while i <= 9:
    >>>   j = 9
    >>>   while j >= i:
    >>>         print(j, "*", i, "=", j * i, end=' ')
    >>>         j -= 1
    >>>   print()
    >>>   i += 1

昨非 发表于 2020-11-20 08:01:47

内循环对应每一行
而内循环每执行完一次,就对应一个print(),相当于换行

jackz007 发表于 2020-11-20 09:05:38

本帖最后由 jackz007 于 2020-11-20 09:08 编辑

      print()
      这一句代码的作用是结束一行的打印输出,使后续的打印输出从下一行开始。
      在楼主的代码中,屏幕输出使用的是
          print(j, "*", i, "=", j * i, end=' ')
      参数中的 end=' ' 导致在打印输出的时候,刻意去掉了缺省的换行动作,所以,如果没有这个 print() 语句对输出内容进行分割,那么,所有的内容就会被输出在同一行,那样的话,就无法看出是九九乘法表了。

Twilight6 发表于 2020-11-20 12:04:22


print 函数有个默认参数 end ,默认情况下是等于 '\n' 换行符

是在 print 函数将参数全部打印完成后自动追加打印的一个字符 end

因为 end 默认是等于 '\n' 换行符,所以 print 函数会自动帮你的字符串换行

当我们人为给 end 参数赋值时候,如:print('xx',end='') end 赋值了个空格

此时 print 函数默认追加打印一个 end 参数时候,因为被我们人为赋值为空格,所以默认会打印一个空格

举些例子:

不人为赋值 end 参数的值,则默认等于 \n 换行符:
print('I Love')   # 等价于 print('I Love',end='\n')
print('FishC')
打印结果:
I Love
FishC

人为为end 参数赋值,end = '' 一个空格

print('I Love',end = ' ')
print('FishC')
打印结果:
I Love FishC

所以你这里 print() 前面都是打印同一行的内容

而如果去掉 print() 那么就导致全部在同一行了
页: [1]
查看完整版本: 格式