python打印99乘法表「终于解决」

Python (84) 2023-03-27 10:53

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说python打印99乘法表「终于解决」,希望能够帮助你!!!。
python打印99乘法表「终于解决」_https://bianchenghao6.com/blog_Python_第1张

首先这是最简单的写法:

只需要设置成类似java中的样子,内循环中,加上制表符分割,外循环再给上print()换行, 

for i in range(1,10):
    for j in range(1,i+1):
        print(i,'*',j,'=',i*j,end='\t')
    print()

python打印99乘法表「终于解决」_https://bianchenghao6.com/blog_Python_第2张

还有一行就可以生成99乘法表的方法,需要运用到下面的三个知识 

首先来介绍:列表生成式,join方法,和format方法

列表生成器

列表生成器是Python内置的非常简单却强大的可以用来创建list的生成式

首先是正常生成列表的样子,我们在外面定义一个空的列表,然后循环将结果append进列表中

list1 = []
for i in range(1,10):
    list1.append(i*i)
print(list1)

如果是利用列表生成器,只要在循环前面加上我们需要的表达式,一行就可以搞定这个问题

print ([i*i for i in range(1,10)])

上面代码的运行结果 

python打印99乘法表「终于解决」_https://bianchenghao6.com/blog_Python_第3张

format方法

上面我们打印99乘法标的时候是一个一个元素拼上去的,但是也可以直接写一个模板然后将元素套进去

这是正常的写法,打印i*i=i^2的表达式

for i in range(1,10):
    print(i,'*',i,'=',i*i)

利用format写,我这里是沿用了上面的列表生成器的格式,将i*i换成了模板接收

print(["{}*{}={}".format(i,i,i*i)for i in range(1,10)])

运行结果:

python打印99乘法表「终于解决」_https://bianchenghao6.com/blog_Python_第4张

 join方法

join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串

由于我们上面的使用列表生成器,所以接下来就是用指定的分隔符连接列表中的元素,生成了一个新的字符串

print(["{}*{}={}".format(i,i,i*i)for i in range(1,10)])
print("\n".join(["{}*{}={}".format(i,i,i*i)for i in range(1,10)]))

可以看到我利用换行符连接了列表中的元素

python打印99乘法表「终于解决」_https://bianchenghao6.com/blog_Python_第5张

接下来我们就可以对99乘法表进行操作了:

print(["{} * {} ={}".format(i,j,i*j) for i in range(1,10) for j in range(1,i+1)])

#首先是对内层的使用制表符连接,
print(["\t".join(["{} * {} ={}".format(i,j,i*j) for j in range(1,i+1)])for i in range(1,10)])

#再来是对外层使用换行符连接
print("\n".join(["\t".join(["{} * {} = {}".format(i, j, i * j) for j in range(1, i + 1)]) for i in range(1, 10)]))

截取部分结果如下: 

python打印99乘法表「终于解决」_https://bianchenghao6.com/blog_Python_第6张

发表回复