请教关于print(‘\n’)与print(end=‘\n’)的区别
我在做小甲鱼老师的课后习题,题目代码如下:>>> for i in range(1, 10):
... for j in range(1, i+1):
... print(i, "x", j, "=", i * j, end=' ')
... print(“\n")
运行代码的结果如下(注意:每行代码间是有一行空格的):
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
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
但如果我把代码里的print(“\n”)改成print(end=“\n”),则代码运行结果如下,则每行代码间的空行没有了:
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
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
请问各位大佬,为啥将代码里的print(“\n”)改成print(end=“\n”),每行代码间的空行没不见了??? 你好!关于你的问题,我来解释一下 print('\n') 和 print(end='\n') 的区别。
首先,我们来看 print('\n') 的行为:
- print('\n') 会先打印字符串 '\n'(这是一个换行符),然后由于 print 函数默认以换行符结束(即 end='\n'),所以它会额外再输出一个换行符。
- 结果就是:每次执行 print('\n') 时,会输出两个换行符,导致每行之间多出一个空行。
现在,再看 print(end='\n') 的行为:
- print(end='\n') 不会打印任何内容,它只是将结束字符设置为换行符 '\n',所以只输出一个换行符。
- 因此,每次执行 print(end='\n') 时,只输出一个换行符,不会产生额外的空行。
在你的代码中:
- 当使用 print("\n") 时,每行输出后有两个换行符,所以每行之间有空行。
- 当改为 print(end="\n") 时,每行输出后只有一个换行符,所以空行消失了。
如果你想在每行结束后换行但不产生空行,最简单的做法是直接使用 print()(不带参数),因为它默认输出一个换行符。
例如,将你的代码修改为:
for i in range(1, 10):
for j in range(1, i+1):
print(i, "x", j, "=", i * j, end=' ')
print()
这样就能得到没有空行的输出结果了。
希望这个解释对你有帮助!如果还有疑问,欢迎继续提问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 在end 前加个空字符串, print()默认end='\n',所以print('\n')其实实际上是print('\n',end='\n'), 有两个'\n',而print(end='\n')就是将默认设置写在明面上了,实际上只有一个'\n'。
页:
[1]