我们可以考虑用for循环+print打印来实现。因为最小的数字是1,最大的数字是9,所以范围就是从1到9。
先写一个试试看效果。
for i in range(1,10):
for j in range(1,10):
print('%s * %s = %s'% (i,j,i*j),end = ' ')
?
发现这样写,打印出来的内容全部显示在同一行,不符合我们的要求。
我们再仔细观察一下,会发现每一行都是以2个相同的数字相乘作为结束,并且这两个相同的数字就是所在行数。换句话说,当i==j的时候,我们就换一行。
那么我们改进一下代码:
for i in range(1,10):
for j in range(1,10):
print('%s * %s = %s'% (i,j,i*j),end = ' ')
if i == j:
print('')
break
?如果我们想看它打印的过程,我们可以借助time这个库,引入time库以后,借助time.sleep()可以减缓打印的时间
import time
for i in range(1,10):
for j in range(1,10):
print('%s * %s = %s'% (i,j,i*j),end = ' ')
time.sleep(0.2)
if i == j:
print('')
break
除此之外,还有别的解法,比如:
for j in range(1,10):
for i in range(1,j+1):
print('%d X %d = %d' % (i,j,i*j),end=' ')
print('')
这种方法大家也可以去试试,打印出来的效果也是一样的。
一个小小的案例,可以有很多种解法,多思考,会有很多收获~
好啦? 今天就分享到这里? 要是喜欢就点赞 收藏 评论? + 关注一下吧
|