python中的强大的format函数----少见的写法。

48 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

还是九九乘法表: 现在唯一没搞清楚的是,默认右对齐,第一个默认右对齐了,为什么第二个非要加上>才行,不加的话默认又变成左对齐了呢?好像是这个默认右对齐只针对整型,浮点型这类数字类型,对字符串默认应该是左对齐。这个写法的亮点在于{}里面嵌套{},里层的{}的位置参数紧跟请注意是紧跟)在外层的{}后面,不过像这种,我推荐引入关键字参数。

for i in range(1, 10):
    s = ""
    for j in range(i, 10):
        s += "{}*{}={:{}} ".format(i, j, i*j, 1 if j < 4 else 2)
    print("{:>60}".format(s))

在这里插入图片描述 这里解释一下60怎么来的,每一个乘法算式占7个字符(包含空格),7*9=63,然后由于前3列,j<4,所以前三列的乘法算式只占6个字符,所以就少了3个字符,这样每行总字符数是:63-3=60.

for i in range(1, 10):
    s = ""
    for j in range(i, 10):
        s += "{}*{}={:{}} ".format(i, j, i*j, 1 if j < 4 else 2)
    print("{:60}".format(s))

在这里插入图片描述