标题:为什么都有print‘\n’,第一个结果中间没有空行,第二个结果中间有空行
只看楼主
冬天的大白菜
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-1-8
 问题点数:0 回复次数:1 
为什么都有print‘\n’,第一个结果中间没有空行,第二个结果中间有空行
为什么都有print‘\n’,第一个程序中间没有空行,第二个程序中间有空行
>>> print ('\n'.join([' '.join(['%d*%d=%2d' % (j,i,i*j) for j in range(1,i+1)]) for i in range(1,10)]))
1*1= 1
1*2= 2 2*2= 4
1*3= 3 2*3= 6 3*3= 9
1*4= 4 2*4= 8 3*4=12 4*4=16
1*5= 5 2*5=10 3*5=15 4*5=20 5*5=25
1*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
>>> for i in range(1,10):
       for j in range(1,i+1):
         print("%d*%d=%2d"%(j,i,i*j)),
       print "\n "      
1*1= 1
 
1*2= 2 2*2= 4
 
1*3= 3 2*3= 6 3*3= 9
 
1*4= 4 2*4= 8 3*4=12 4*4=16
 
1*5= 5 2*5=10 3*5=15 4*5=20 5*5=25
 
1*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
 
1*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
 
1*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
 
1*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
 
搜索更多相关主题的帖子: print 结果 join for 
2018-01-10 10:47
william2011
Rank: 1
来 自:金星
等 级:新手上路
帖 子:35
专家分:0
注 册:2018-1-23
得分:0 
print("%d*%d=%2d"%(j,i,i*j)),这句执行完,就会自行换行
而print "\n "  ,也进行一次换行,
故第二个程序输出时,肯定是有空白行。
将后一句去掉就可以了
2018-02-02 23:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-484121-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.211090 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved