python实现做九九乘法表的函数

  • Post category:Python

实现九九乘法表的函数可以使用嵌套循环来实现。

首先我们来看一个示例代码:

def multiplication_table():
    for i in range(1, 10):
        for j in range(1, i+1):
            print("%d*%d=%d" % (i, j, i*j), end='\t')
        print('')

multiplication_table()

运行上述代码,我们将得到以下输出:

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  

我们来逐步分析代码:

  1. 定义函数multiplication_table(),该函数不需要接受任何参数。
  2. 使用外层循环遍历1到9之间的所有数字,即for i in range(1, 10):
  3. 在第一个循环的基础上,再加上一个循环,遍历1到i之间的数字,即for j in range(1, i+1):。因为任何数乘1都等于自己,因此我们只需要遍历到i即可。
  4. 对于每个乘法运算,使用字符串格式化输出,即print("%d*%d=%d" % (i, j, i*j), end='\t')。其中%d表示整数占位符,i表示乘数1,j表示乘数2,i*j表示乘积。end='\t'表示输出每个运算后不换行,使用制表符进行分隔。
  5. 每完成一轮乘法运算后,需要在下一行输出,使用print('')即可。

我们再来看一个使用列表推导式的示例代码:

def multiplication_table():
    [print('\t'.join(['%d*%d=%d' % (j, i, j*i) for j in range(1, i+1)])) for i in range(1, 10)]

multiplication_table()

运行上述代码,我们将得到以下输出:

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

我们来逐步分析代码:

  1. 定义函数multiplication_table(),该函数不需要接受任何参数。
  2. 使用列表推导式的方式遍历1到9之间的所有数字,即[print('\t'.join(['%d*%d=%d' % (j, i, j*i) for j in range(1, i+1)])) for i in range(1, 10)]
  3. 在内层循环中,使用列表推导式生成每个乘法运算的字符串,即['%d*%d=%d' % (j, i, j*i) for j in range(1, i+1)]。其中%d表示整数占位符,i表示乘数1,j表示乘数2,i*j表示乘积。
  4. 将所有的乘法运算字符串列表使用制表符连接起来输出,即print('\t'.join(...))
  5. 在完成所有乘法运算后,需要在下一行输出,使用print()即可。

希望以上例子能对你有所帮助。