Python学习之---打印九九乘法口诀表

九九乘法表

无论是学习哪一门编程语言,九九乘法表都是逃不开的循环示例,通过打印九九乘法表,变形的九九乘法表可以很好的训练forwhile 循环 printformat 函数,字符串,列表等知识。下面就介绍一些方法:

打印正向九九乘法口诀表:

方法一:常规的字符串拼接打印:

for i in range(1,10):
	s = ""
	for j in range(1,i+1):
		s += str(j) + '*' + str(i) + '=' + str(j * i) + ' '
	print(s)
>>>>:
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 与format函数格式打印:

for i in range(1,10):
	for j in range(1,i+1):
		print("{1}x{0}={2} ".format(i,j,i*j),end="")
	print()  

方法三:if else 的三元表达式打印

for i in range(1,10):
	for j in range(1,i+1):
		print("{1}x{0}={2} ".format(i,j,i*j),end='\n' if i==j else '')
	

**方法四:列表打印+参数解构 **

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

总结:对以上打印的乘法表进行优化,使其每行都能一一对齐。

例如:

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

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): # row
    print(end='       '*(i-1))
    for j in range(i, 10): # column j [i, 10)   i <= j <= 9
        product = "{}*{}={}".format(i, j, i*j)
        print("{:<7}".format(product), end='\n' if j==9 else '')   


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

方法二:字符串拼接+format函数法打印

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

以上就是几种常见打印九九乘法口诀表的Python 代码,在打印时,可以分步进行,首先打印出最普通的类型,然后在次基础上进行优化。

猜你喜欢

转载自blog.csdn.net/qq_40498551/article/details/88926127