鱼C论坛

 找回密码
 立即注册
查看: 2476|回复: 6

【问】% -3d 格式化字符串, 其中的 -3 是干什么用的?

[复制链接]
发表于 2016-10-26 15:50:48 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 rocyjp 于 2016-11-21 22:55 编辑

我在网上看到这样一段代码,发现个问题,请教:
  1. #输出九九乘法表
  2. x = [1,2,3,4,5,6,7,8,9]
  3. y = [1,2,3,4,5,6,7,8,9]
  4. for each in x:
  5.     a = each
  6.     for each in y:
  7.         b = each
  8.         c = a * b
  9.         print('%d * %d = % -3d'% (a , b , c))
复制代码
              #这边-3d  是个什么东西,去掉也看不出来有什么影响啊?


请问下,这个-3  有什么用,另外这个九九乘法表输出的太难看了,如果要输出以下格式的乘法表,要怎么实现?
                                                                   9*9=81
                                   。。。。。。。。。。。。


                       。。。。。。。。。。。。。。。。。

                      3*3=9                                   3*9=27
           2*2=4 2*3=6                                   2*9=18
1*1=1 1*2=2 1*3=3 。。。。。。。。。。1*9=9
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-10-26 17:36:56 | 显示全部楼层
本帖最后由 rocyjp 于 2016-10-26 17:41 编辑
  1. #输出九九乘法表
  2. x = [1,2,3,4,5,6,7,8,9]
  3. y = [1,2,3,4,5,6,7,8,9]
  4. for each in x:
  5.     a = each
  6.     for each in y:
  7.         b = each
  8.         if a <= b:
  9.             c = a * b
  10.             print('%d*%d=%d'% (a , b , c),end='\t')
  11.     print('\n')
复制代码

以上代码的输入结果:  输入的结果不够整齐,如果  print('%d*%d=%-3d'% (a , b , c),end='\t')  就能使结果更整齐
1*1=1        1*2=2        1*3=3        1*4=4        1*5=5        1*6=6        1*7=7        1*8=8        1*9=9       

2*2=4        2*3=6        2*4=8        2*5=10        2*6=12        2*7=14        2*8=16        2*9=18       

3*3=9        3*4=12        3*5=15        3*6=18        3*7=21        3*8=24        3*9=27       

4*4=16        4*5=20        4*6=24        4*7=28        4*8=32        4*9=36       

5*5=25        5*6=30        5*7=35        5*8=40        5*9=45       

6*6=36        6*7=42        6*8=48        6*9=54       

7*7=49        7*8=56        7*9=63       

8*8=64        8*9=72       

9*9=81
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2016-10-26 16:10:05 | 显示全部楼层
%-3d表示左对齐保留3位整数,我是这么理解得
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2016-10-26 16:20:13 | 显示全部楼层
更正下,3表示最小宽度是3
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-26 16:43:12 | 显示全部楼层
  1. '%3d'%5
  2. '  5'
  3. >>> '%-3d'%5
  4. '5  '
复制代码

你可以去看下鱼c论坛,扩展阅读关于字符串格式化及其含义的内容,%d 是格式化整数 ,加一个‘’-‘’ 表示左对齐。     链接
http://bbs.fishc.com/forum.php?m ... peid%26typeid%3D403
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2016-10-26 17:18:43 | 显示全部楼层
zxmtxwd 发表于 2016-10-26 16:20
更正下,3表示最小宽度是3

哦,谢谢了!学习到了 ,-是左对齐,默认也是左对齐,  如果不带 -号,就是右对齐
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-27 08:58:35 | 显示全部楼层
学习了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-2 02:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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