打印九九乘法表(以python为例)

一、常规下三角显示

编写整体程序前,分析打印乘法表应有以下三部分:

  1. 完成单个式子输出,如:1×1=1或2×9=9
  2. 输出所有乘法表内容
  3. 调整显示形式为下三角显示

1.完成单个式子输出

观察1×1=1和2×9=9,可以分析得到两个乘数应能变化,的数为二者积,因此,将乘数写作变量输出上述形式:

a,b=1,1
print("{}×{}={}".format(a, b, a*b))

2.输出所有乘法表内容

输出所有乘法表内容,需要重复使用print函数,并且对于ab两个变量的值需要不断改变,因此使用循环结构,控制两个变量的改变,使用嵌套循环结构。
观察乘法表特征,两乘数恰好与行列数分别一致,因此外层循环控制行数改变,内层循环控制列数改变,使用索引作为乘数进行计算和输出。

for a in range(1,10):  # 前闭后开区间,不包括10
    for b in range(1,a+1):  # 同理不包括a+1
        print("{}×{}={}".format(b,a,a*b))

注:由于乘法表一般习惯为与行数一直的乘数在前,因此将print函数中的变量ab交换位置
输出结果为:

1×1=1
1×2=2
2×2=4
 ···       # 此处内容省略
6×9=54
7×9=63
8×9=72
9×9=81

3.调整显示形式

上图每个输出结果都自动换行,为改变形式,将每个输出改为以空格结束(做分割)

for a in range(1,10):  # 前闭后开区间
    for b in range(1,a+1):
        print("{}×{}={}".format(b,a,a*b), end=" ")

输出结果为:

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 a in range(1,10):  # 前闭后开区间
    for b in range(1,a+1):
        print("{}×{}={}".format(b,a,a*b), end=" ")
    print()

完成九九乘法表输出:

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 

二、上三角显示

原理同下三角,上三角显示时,行数为从9~1倒序,因此改变外层循环行数控制范围起止和步长即可:

for a in range(9, 0, -1):  # 前闭后开区间
    for b in range(1, a + 1):
        print("{}×{}={}".format(b, a, a * b), end=" ")
    print()

输出为:

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 
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×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49 
1×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36 
1×5=5 2×5=10 3×5=15 4×5=20 5×5=25 
1×4=4 2×4=8 3×4=12 4×4=16 
1×3=3 2×3=6 3×3=9 
1×2=2 2×2=4 
1×1=1 

三、补充

range函数中范围为前开后闭区间

range(9, 0, -1)中第三位-1代表步长

print(“{}×{}={}”.format(b, a, a * b), end=" ")
参数end=“”代表以“”中内容结束

  • 10
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值