python实现不同格式的九九乘法表

最近在做pythontip题目的时候,发现有些基础的题目竟然也忘得一干二净,所以,我准备在重新把基础的知识过一遍,之前学过如何打印九九乘法表,但是现在也忘了,所以,我就来重新整理一遍,也算是重新学习一遍吧!

文章通过Python实现了输出长方形完整格式、左上三角形、右上三角形、左下三角形以及右下三角形五种格式的九九乘法表。我使用的Python版本为Python 2.7。

一.长方形完整形式

# -*- coding: UTF-8 -*-
for i in range(1,10):
    for j in range(1,10):
        print "%d*%d=%2d"%(i,j,i*j),#不换行
    print ""

输出

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*1= 2 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*1= 3 3*2= 6 3*3= 9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27 
4*1= 4 4*2= 8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36 
5*1= 5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45 
6*1= 6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54 
7*1= 7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63 
8*1= 8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72 
9*1= 9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 

二.左上角三角形

# -*- coding: UTF-8 -*-
for i in range(1,10):
    for j in range(i,10):
        print "%d*%d=%2d"%(i,j,i*j),
    print ""

输出

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 

:乘法算式按行输出,与完整格式相比,内层循环范围为i~9,当外层循环的i逐渐递增时,每行输出的算式个数会越来越少,print(“”)表示换行,不输出这句的话输出的乘法表格式错乱。

三.右上三角形

# -*- coding: UTF-8 -*-
for i in range(1,10):
    for k in range(1,i):
        print ("      "),
    for j in range(i,10):
        print "%d*%d=%2d"%(i,j,i*j),
    print ("")

输出

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 

:相比左上三角形,内层循环语句多了两句(代码标红处),由于每个算式所占的位置为7个字节,所以多余前面空出的地方输出相应的空格数,在Python2.7中可以直接用print (” “)语句表示输出空格,而python3以上就必须添加end关键字,即print (end=” “),表示结尾以等号右边的内容输出。

四.左下角三角形

# -*- coding: UTF-8 -*-
for i in range(1,10):
    for j in range(1,i+1):
        print "%d*%d=%2d"%(i,j,i*j),
    print ("")

输出

1*1= 1 
2*1= 2 2*2= 4 
3*1= 3 3*2= 6 3*3= 9 
4*1= 4 4*2= 8 4*3=12 4*4=16 
5*1= 5 5*2=10 5*3=15 5*4=20 5*5=25 
6*1= 6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 
7*1= 7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 
8*1= 8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 
9*1= 9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 

五.右下角三角形

# -*- coding: UTF-8 -*-
for i in range(1,10):
    for k in range(1,10-i):
        print ("      "),
    for j in range(1,i+1):
        print "%d*%d=%2d"%(i,j,i*j),
    print ("")

输出


                                                        1*1= 1 
                                                 2*1= 2 2*2= 4 
                                          3*1= 3 3*2= 6 3*3= 9 
                                   4*1= 4 4*2= 8 4*3=12 4*4=16 
                            5*1= 5 5*2=10 5*3=15 5*4=20 5*5=25 
                     6*1= 6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 
              7*1= 7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 
       8*1= 8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 
9*1= 9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 
  • 17
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值