Python习题练习5--99乘法表

"这篇博客详细解析了如何用Python实现99乘法表的打印过程,包括双重循环的运用,以及通过设置`end=""`来避免自动换行,最后在每个i循环结束后进行换行,从而得到整洁的乘法表布局。此外,博主还鼓励读者尝试不同的解题方法,提升编程技巧。"
摘要由CSDN通过智能技术生成

题目:打印出一个99乘法表

for i in range(1,10):    #定义一个i的for循环
    for j in range(1,i+1):   #定义一个j的for循环
        print("%d*%d=%d "%(j,i,i*j),end="")   #打印i*j=(i*j)的样式,end""的作用是表示还没有结束现在还不用换行
    print("")  #在执行完一次j的循环后进行换行,print()本身就有换行的作用,所以这里可以省略里面的(/n),也可以直接写成print()

打印结果为:

解题思路:

1、先遍历i的循环,确定每行的1-9的数

for i in range(1,10):   #遍历1-9的值
    print(i)   #打印结果

打印结果为:

 2、这时候观察99乘法表,因为i已经实现了每行的一个固定值,还需要在不同的每行都需要有个数和他相乘,第一个行就是1*1 第二行就是1*2 和 2*2,因为i已经可以确定每行是要乘几了,所以在定义一个变量j,在不同的时候和i相乘,就是当i进入到1的循环时,j只能输出1,当i进入到2的循环是,j只能输出1和2,以此类推,当i输出到9时,j只能输出1-9,所以这就能确定j的遍历范围了,因为是随着i变化的,所以j的范围就是range(1,i+1),这里为啥是i+1呢?因为在让中,是前闭后开的,所以范围是想要范围是1到i,在range()函数中就要写成1,i+1。然后让他两相乘看下结果。

for i in range(1,10):   #定义一个i的for循环
    for j in range(1,10):   #根据i的for循环,定义一个j的for循环
         print("%d*%d=%d "%(j,i,i*j))   ##打印i*j=(i*j)的样式

输出结果为:

 这样能看出所有需要的数据已经都出来了现在需要调节下样式。

3、这时先让他不进行换行,保持在一行输出,因为print默认会执行换行,所以这时候就可以在print()里加上end="",end=""的作用就是表示还没有结束,不执行换行操作。现在再打印看下结果。

for i in range(1, 10):  # 定义一个i的for循环
    for j in range(1, i + 1):  # 定义一个j的for循环
        print("%d*%d=%d " % (j, i, i * j), end="")  # 打印i*j=(i*j)的样式,end=""的作用是表示还没有结束现在还不用换行

 这时候就变成一行的输出了,那怎么才能变成让他按着需求进行换行呢?

4、现在就简单了,因为这个是根据i进行每行的数据打印的,所以在每次在i要进行遍历时,进行换行就行了。

for i in range(1, 10):  # 定义一个i的for循环
    for j in range(1, i + 1):  # 定义一个j的for循环
        print("%d*%d=%d " % (j, i, i * j), end="")  # 打印i*j=(i*j)的样式,end=""的作用是表示还没有结束现在还不用换行
    print("")  # 在执行完一次j的循环后进行换行,print()本身就有换行的作用,所以这里可以省略里面的(/n),也可以直接写成print()

打印结果为:

        这样就解决了用python输出99乘法表的问题了,对于这个题目还有好几种不同的解法,大家可以尝试用其他方法再试试


  下图为公众号二维码,内容会同步发出,大家可以关注一起学习

                                                                                               

这个是张狗子小哥哥的公众号,会分享一些平时的工作心得,可以关注看下。

                                                                                                

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘阿童木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值