Python实现九九乘法表

九九乘法表有四种展现形式

1.左下三角形

方法1:for...for循环实现

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

详解方法1的实现过程:

for循环用于遍历,遍历几次输出几次

range():取范围值,取头不取尾,range(1,10)代表取数字1-9

打印输出第一行数据:1*=1

  • step1:第一行代码得到i=1,然后跳到第二行代码
  • step2:此时第二行代码j的范围值为range(1,2),j的取值只有1,然后跳转到第三行代码
  • step3:i=1,j=1,第三行代码输出1*1=1,末尾有四个空格
  • step4:第三行输出后,会跳转到第二行代码,此时j不能等于2,没有符合条件的取值,程序会直接跳过第三行代码,跳转到第四行代码,输出换行

此时控制台输出:

打印输出第二行数据:1*2=2    2*2=4

  • step1:i=2
  • step2:此时j in range(1,3),j的取值有1,2,j=1时,跳转到第三行代码
  • step3:第三行输出打印1*2=2,末尾有四个空格,然后又跳转到第二行代码,此时j=2,在取值范围内
  • 然后执行第三行,打印输出2*2=4
  • step4:跳转到第二行代码,此时j不能等于3,没有符合条件的取值,程序会直接跳过第三行代码,跳转到第四行代码,输出换行

此时控制台输出:

以此类推,输出全部内容......

方法2:for...while实现

for i in range(1, 10):
    j=1
    while j < i + 1:
        print(f'{j}* {i}={i*j}' , end='\t')
        j=j+1
    print()

方法3:while...while循环实现

i=1
while i <10:
    j=1
    while j<i+1:
        print(f'{j}* {i}={i * j}', end='\t')
        j=j+1
    i=i+1
    print()

方法4:while...for实现

i = 1
while i < 10:
    for j in range(1, i + 1):
        print(f'{j}* {i}={i * j}', end='\t')
    i = i + 1
    print()

方法5:函数实现

def multiplication_table(i):
    while i<10:
        for j in range(1, i + 1):
            print(f'{j}* {i}={i * j}', end='\t')
        print()
        i=i+1

multiplication_table(1)

方法6:变量实现

a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in a:
    j = 1
    while j < i + 1:
        print(f'{i}*{j}={i*j}', end='\t')
        j=j+1
    print()

运行结果:

 2.左上三角形:

方法1:for循环实现

for i in range(9, 0, -1):  # 参数:计数从9开始,0结束,步长-1
    for j in range(1, i + 1):
        print(f'{j}* {i}={i * j}', end='\t')
    print()

方法2:while循环实现

i=9
while i >0:
    j=1
    while j<i+1:
        print(f'{j}* {i}={i * j}', end='\t')
        j=j+1
    i=i-1
    print()

运行结果:

 3.右上三角形:

方法1:for循环实现

for i in range(9,0,-1):
    for j in range(1,i+1):
         print(f'{j}*{i}={i*j}',end='\t')
    print()
    for k in range(i,10):
         print(end='        ')

方法2:while循环实现 

i=9
while i >=1:
    k=9
    while k>i:
        print(end='       ')
        k=k-1
    j=1
    while j<=i:
        print("%d*%d=%2d"%(j,i,j*i), end=' ')
        j=j+1
    print()
    i=i-1

运行结果:

 4.右下三角形:

方法1:for循环实现

for i in range(1,10):
    for j in range(1,10-i):
         print(end='       ')   #每个算法长度6,加上1个空位符,最少7个占位符
    for k in  range(1,i+1):
         print("%d*%d=%2d"%(k,i,k*i),end=' ')
    print("")

方法2:while循环实现

i=1
while i<10:
    j=1
    while j<10-i:
        print(end='       ')  # 每个算法长度6,加上1个空位符,最少7个占位符
        j=j+1

    k=1
    while k<i+1:
        print("%d*%d=%2d" % (k, i, k * i), end=' ')
        k=k+1
    print("")
    i=i+1

运行结果:

欢迎纠正和完善~~~

  • 100
    点赞
  • 530
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值