鱼C论坛

 找回密码
 立即注册
查看: 1261|回复: 2

[已解决]Python中空格的用法问题

[复制链接]
发表于 2020-1-5 10:20:24 | 显示全部楼层 |阅读模式

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

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

x
在第004讲 变量和字符串(下)的课后作业中,最后一题“打印一个九九乘法表。”
答案中的代码是:
    >>> for i in range(1, 10):
    ...     for j in range(1, i+1):
    ...         print(i, "x", j, "=", i * j, end=' ')
    ...     print("\n")

其中
i * j 中间是有空格的,我在练习时,去掉了空格键,代码仍然是正常运行的,并显示的格式与题目要求的一致。如下
1 × 1 = 1

2 × 1 = 2 2 × 2 = 4

3 × 1 = 3 3 × 2 = 6 3 × 3 = 9
以下省略。


end=‘ ’
将这句代码去掉,代码仍然能正常运行,但显示的格式变为如下:
1 × 1 = 1


2 × 1 = 2
2 × 2 = 4


3 × 1 = 3
3 × 2 = 6
3 × 3 = 9


4 × 1 = 4
4 × 2 = 8
4 × 3 = 12
4 × 4 = 16
以下省略.
请问,在Python中,空格的使用规则是怎样的?
最佳答案
2020-1-5 10:25:47
打印多个元素时,print 会自动在元素之间打印一个空格。如果想不让 print 在元素之间添加空格,可以使用 sep='':

  1. for i in range(1, 10):
  2.     for j in range(1, i+1):
  3.         print(i, "x", j, "=", i * j, end=' ', sep='')
  4.     print("\n")
复制代码


运行结果:

  1. 1x1=1

  2. 2x1=2 2x2=4

  3. 3x1=3 3x2=6 3x3=9

  4. 4x1=4 4x2=8 4x3=12 4x4=16

  5. 5x1=5 5x2=10 5x3=15 5x4=20 5x5=25

  6. 6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36

  7. 7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49

  8. 8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64

  9. 9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81
复制代码


用 print 打印时,print 除了输出指定的内容还会输出换行 \n,end=' ' 是禁止 print 换行。如果去掉,没打印一句乘法口诀都会换行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-1-5 10:25:47 | 显示全部楼层    本楼为最佳答案   
打印多个元素时,print 会自动在元素之间打印一个空格。如果想不让 print 在元素之间添加空格,可以使用 sep='':

  1. for i in range(1, 10):
  2.     for j in range(1, i+1):
  3.         print(i, "x", j, "=", i * j, end=' ', sep='')
  4.     print("\n")
复制代码


运行结果:

  1. 1x1=1

  2. 2x1=2 2x2=4

  3. 3x1=3 3x2=6 3x3=9

  4. 4x1=4 4x2=8 4x3=12 4x4=16

  5. 5x1=5 5x2=10 5x3=15 5x4=20 5x5=25

  6. 6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36

  7. 7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49

  8. 8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64

  9. 9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81
复制代码


用 print 打印时,print 除了输出指定的内容还会输出换行 \n,end=' ' 是禁止 print 换行。如果去掉,没打印一句乘法口诀都会换行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-5 10:58:15 | 显示全部楼层
print 的end=参数默认是换行符,每print一次就换一个行,所以会打印一列。
把end参数设置为空格,在小循环内就不换行了,这样同一个被乘数为一列,不同被乘数为一行。

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
zltzlt + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-27 02:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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